三台php fastcgi服务器的ip地址分别为:

172.16.236.110 , 172.16.236.111, 172.16.236.112

运行php fastcgi进程时,需要让php-cgi监听到服务器的局域网地址(分别如上所示),而不是之前一般都是监听的本地地址(127.0.0.1)。以172.16.236.110这台服务器为例:

1./usr/local/php5/bin/php-cgi -b 172.16.236.110:9000

或许你用spawn-fcgi来启动php-fcgi,那么就是这样(供参考,其实也就是修改监听的地址和端口即可):

1./usr/local/lighttpd/bin/spawn-fcgi -f /usr/local/php5/bin/php-cgi -a 172.16.236.110 -p 9000

又或许你是用php-fpm来管理php-fcgi,那么你需要修改php-fpm的配置:

1.vi /usr/local/php5/etc/php-fpm.conf

找到这个配置项(其中的地址可能需要根据你自己环境来调整)

1.127.0.0.1:9000

修改为:

1.172.16.236.110:9000

修改完毕后,重启你的php-fpm进程。

然后按照上面的步骤,依次修改其他php fastcgi服务器。

php方面的工作暂时就是这些,下面修改nginx。

1.vi /usr/local/nginx/conf/nginx.conf

在配置文件的http段内增加类似如下的配置:

1.upstream myfastcgi {

2.server 172.16.236.110:9000 weight=1;

3.server 172.16.236.111:9000 weight=1;

4.server 172.16.236.112:9000 weight=1;

5.}

我这里三台php fastcgi服务器的权重是相同的,所以其中的weight值都是1,如果你的php fastcgi服务器需要分主次,那么可以通过调整其weight值来达到目的。比如以第一台服务器为主,其他两台为辅,则就是这样:

1.upstream myfastcgi {

2.server 172.16.236.110:9000 weight=1;

3.server 172.16.236.111:9000 weight=2;

4.server 172.16.236.112:9000 weight=2; }

然后找到原来nginx关于php fastcgi配置的部分,比如:

1.location ~ \.php$ {

2.

3.fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php;

4.fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

5.include fastcgi_params; }

将其中的fastcgi_pass那一段改为:

1.fastcgi_pass myfastcgi;

其中的myfastcgi也就是上面刚刚配置的php fastcgi均衡器的名字了。

完了以后,重启nginx即可。 简单吧,就通过这么几个简单的配置,就可以实现一个经济高效的nginx、多php-fcgi的负载均衡解决方案了。当然了,这样的方案运用到实际项目中还需要进行一些细化的配置,主要是php方面还需要进一步配置,我会在接下来的博客中记录现在项目的一些心得。

php-fpm upstream,nginx 通过upstream实现与多个php-fpm进程通信相关推荐

  1. Nginx配置upstream实现负载均衡

    假设Nginx没有只只能代理一台服务器的话,那它也不可能像今天这么火.Nginx能够配置代理多台服务器.当一台服务器宕机之后.仍能保持系统可用.详细配置步骤例如以下: 1. 在http节点下,加入up ...

  2. nginx修改upstream不重启的方法(ngx_http_dyups_module模块)

    为什么80%的码农都做不了架构师?>>>    nginx很强大,第三方模块也不少,淘宝在nginx上很活跃,特别是章亦春,他参与的模块至少10+, 好了今天主角不是他,是一款动态配 ...

  3. 【upstream】Nginx配置upstream实现负载均衡

    如果Nginx没有仅仅只能代理一台服务器的话,那它也不可能像今天这么火,Nginx可以配置代理多台服务器,当一台服务器宕机之后,仍能保持系统可用.具体配置过程如下: 1. 在http节点下,添加ups ...

  4. Nginx系列--upstream模块的使用

    原文网址:Nginx系列--upstream模块的使用_IT利刃出鞘的博客-CSDN博客 简介 说明         本文介绍nginx的upstream模块的使用. nginx的upstream模块 ...

  5. Nginx配置upstream

    Nginx配置upstream并且实现负载均衡 Nginx配置upstream实现负载均衡 nginx配置-upstream

  6. NGINX 进程通信机制

    nginx的进程通信分为三种类别:linux 系统与nginx 通信, master 进程与worker进程通信, worker进程间通信. master进程管理worker进程,本文将追溯nginx ...

  7. zabbix监控mysql内存_zabbix通过自定义脚本监控nginx,php-fpm和mysql占用内存数和进程的个数...

    zabbix通过自定义脚本监控nginx,php-fpm和mysql占用内存数和进程的个数 首先,在zabbix脚本目录下添加一个脚本,写入如下代码 #!/bin/bash #license:GPL ...

  8. Nginx的upstream目前支持5种分配方式

    本文转自:http://mp.weixin.qq.com/s?__biz=MzI4OTU3ODk3NQ==&mid=2247484058&idx=1&sn=f4da816bfa ...

  9. nginx的upstream问题记录

    最近我们用python开发了一套SSO.然后权限系统一起的一次大更新上线,上线后发现SSO无法正常工作,但测试环境一直无问题. 问题描述 问题URL http://sso.a.com/signin?r ...

最新文章

  1. 单链表:头结点和头指针的实现方式
  2. php 下划线转大写开头,使用PHP把下划线分隔命名的字符串 转换成驼峰式命名方式 , 把下划线后面的第一个字母变成大写...
  3. 【自动驾驶】摄像头单目测距原理及实现
  4. 羽毛球 机器人 Robocon 2015 泰国预选赛(全国大学生机器人竞赛)
  5. 军哥12月份的成绩,只能算一般。但可能是其他机构一年通过IE的数量了(1个月27名IE诞生)...
  6. jinfo-jvm参数信息工具
  7. 【ASP.Net MVC3 】使用Unity 实现依赖注入
  8. ORB feature to FAST,定向快速旋转简报
  9. SpringMVC和Structs2
  10. ●UVA 11021 tunnello
  11. NOIP 陶陶摘苹果
  12. 如何将计算机桌面屏幕放大,怎么能把电脑屏幕放大
  13. jasper report 子报表中嵌套子报表
  14. phobos 2.015
  15. 卖身风波中的考拉员工
  16. python练习题:045:正常血压——MOOC郭炜
  17. Fiddler抓取HTTPS最强攻略
  18. UCWeb战略和发展
  19. 主流App开屏广告一夜消失!满屏找“跳过”的时代快结束了
  20. 分割含有中英文的字符串

热门文章

  1. Python中的Re库
  2. 阿里员工整天996,究竟能挣多少钱?详解阿里薪资绩效考核制度
  3. 联想ghost重装系统_一键还原ghost怎么重装系统呢?
  4. Linux常用备份压缩命令
  5. 【C++成长日记10】
  6. 0007windows搭建vue
  7. 可预见性职业和不可预见性职业
  8. 曼克斯X7影音取证对讲机评测
  9. 黄英成名曲《映山红》
  10. linux arduino 字体大小,Arduino Pro IDE,你终于长大了!