利用nginx现有的负载均衡模块实现php fastcgi负载均衡
说明:
1.服务器前端由一台nginx,所有的静态内容都有Nginx处理.
2.将PHP请求分发到后端运行的若干台php-fastcgi服务器中.
3.用nginx的upstream 模块,利用lbcgi实现负载均衡.
一.PHP-fastcgi具体配置
以192.168.169.100为例
1.如果采用php-fpm来管理php-cgi
# vi /usr/local/php-fcgi/etc/php-fpm.conf
找到如下配置:
- <value name=”listen_address”>127.0.0.1:9000</value>
复制代码
修改为
- <value name=”listen_address”>192.168.169.100:9000</value>
复制代码
仍后重启服务.
# /usr/local/php-fcgi/sbin/php-fpm restart
其它php-fastcgi服务器同上例一样配置.
二.nginx 负载均衡fastcgi配置.
1.upstream 配置
# vi /usr/local/nginx/conf/nginx.conf
在配置文件的httpd段内增加类似如下的内容:
- upstream lbcgi {
- server 192.168.169.100 weight=2;
- server 192.168.169.101 weight=2;
- server 192.168.169.102 weight=2;
- }
复制代码
注:相关权值可根据具体需求自行调整.
2. php相关配置
# vi /usr/local/nginx/conf/enable_php5.conf
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- fastcgi_param GATEWAY_INTERFACE CGI/1.1;
- fastcgi_param SERVER_SOFTWARE nginx;
- ……
复制代码
将其中的fastcgi_pass段修改如下
- fastcgi_pass lbcgi;
复制代码
配置完成后,重启nginx服务,更多的优化及应用有待朋友们去多挖掘!