一个nginx 对多个fastcgi

应用场景: 最前端是一台nginx服务器,所有静态的内容都由nginx来处理,而将所有php的请求都分摊到下游的若干台运行php fastcgi守护进程的服务器中,这样可以以一种廉价的方案来实现对系统负载的分摊,扩展系统的负载能力。

三台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这台服务器为例:
/usr/local/php5/bin/php-cgi -b 172.16.236.110:9000

如果你是用php-fpm来管理php-fcgi,那么你需要修改php-fpm的配置:
vi /usr/local/php5/etc/php-fpm.conf

找到这个配置项(其中的地址可能需要根据你自己环境来调整)
<value name="listen_address">127.0.0.1:9000</value> 
修改为:
<value name="listen_address">172.16.236.110:9000</value>

修改完毕后,重启你的php-fpm进程。
然后按照上面的步骤,依次修改其他php fastcgi服务器。

下面修改nginx配置
vi /usr/local/nginx/conf/nginx.conf 
在配置文件的http段内增加类似如下的配置:
upstream myfastcgi {
        server 172.16.236.110 weight=1;
        server 172.16.236.111 weight=1;
        server 172.16.236.112 weight=1;

当然每个fastcgi服务器的权重可以随意调整,我这里都设置1即权重相同
然后找到原来nginx关于php fastcgi配置的部分,比如:
location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
}

将其中的fastcgi_pass那一段改为:
fastcgi_pass myfastcgi;

时间: 2024-12-19 07:53:40

一个nginx 对多个fastcgi的相关文章

Nginx与PHP(FastCGI)的安装、配置

PHP与PHP-FPM的安装 下载安装包 从www.php.net官网下载php源码包,这里下载的是php-5.2.17.tar.bz2, 从http://php-fpm.org/downloads/下载对应的PHP-FPM源码包,这里下载的是php-5.2.17-fpm-0.5.14.diff.gz 2.开始编译安装PHP和PHP-FPM [[email protected] ~]# tar jxf php-5.2.17.tar.bz2 [[email protected] ~]# gzip

Lua:Nginx Lua环境配置,第一个Nginx Lua代码

一.编译安装LuaJIT Lua:编译安装LuaJIT,第一个Lua程序 http://blog.csdn.net/guowenyan001/article/details/48250427 二.下载NDK与Lua_module 2.1 下载NDK,解压缩 wget -c https://github.com/simpl/ngx_devel_kit/archive/v0.2.18.tar.gz tar zxvf v0.2.18 2.2 下载Lua_module,解压缩 wget -c https

实战Nginx与PHP(FastCGI)的安装、配置与优化(转载)

一.什么是 FastCGIFastCGI是一个可伸缩地.高速地在HTTP server和动态脚本语言间通信的接口.多数流行的HTTP server都支持FastCGI,包括Apache.Nginx和lighttpd等,同时,FastCGI也被许多脚本语言所支持,其中就有PHP.FastCGI是从CGI发展改进而来的.传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析,然后结果被返回给HTTP服务器.这在处理高并发访问时,几乎是不可用的.

实战Nginx与PHP(FastCGI)的安装、配置与优化

一.什么是 FastCGIFastCGI是一个可伸缩地.高速地在HTTP server和动态脚本语言间通信的接口.多数流行的HTTP server都支持FastCGI,包括Apache.Nginx和lighttpd等,同时,FastCGI也被许多脚本语言所支持,其中就有PHP.FastCGI是从CGI发展改进而来的.传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析,然后结果被返回给HTTP服务器.这在处理高并发访问时,几乎是不可用的.

Nginx基础入门之fastcgi模块常用配置项说明

在LNMP环境中,我们都知道nginx如果要解析php脚本语言,就必须通过配置fastcgi模块来提供对php支持,那么在配置fastcgi的时候,关于fastcgi配置项的值应该怎么设置才能让其发挥出更出色的性能呢,下面就讲讲关于nginx模块中fastcgi这部分通用参数介绍 1.1 fastcgi_connect_timeout  配置语法:  fastcgi_connect_timeout 时间(单位为s) 默认值: fastcgi_connect_timeout 60s 配置区域: h

一个nginx匹配很诡异的问题,原因由权限引起

nginx配置如下: location ~ \.php$ { root /opt/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 按照道理说访问地址如: xxx.com/statichtml/json.php 应该可以正常访问,可每

【转】Nginx基础入门之fastcgi常用配置项说明

在LNMP环境中,我们都知道nginx如果要解析php脚本语言,就必须通过配置fastcgi模块来提供对php支持,那么在配置fastcgi的时候,关于fastcgi配置项的值应该怎么设置才能让其发挥出更出色的性能呢,下面就讲讲关于nginx模块中fastcgi这部分通用参数介绍 1.1 fastcgi_connect_timeout 配置语法:  fastcgi_connect_timeout 时间(单位为s) 默认值: fastcgi_connect_timeout 60s 配置区域: ht

快看我解决了一个Nginx的小问题

前言 最近小编写项目的时候,需要用到Nginx服务器,对于Nginx正常安装就好了详情见[我是传送门],正当一切安好的时候问题来了,这台服务器的80端口竟然被占用了,什么鬼?怎么办,只有改端口.具体方案如下: pwd列当前目录,/usr/local/nginx/conf就是我们需要修改的目录,图中nginx.conf就是我们需要“动手脚”的地方. 直接上vim 大法对nginx.conf文件动手脚. Vim nginx.conf编辑文件 将listen后面的修改为自己想要的端口号.然后加入防火墙

实战开发一个Nginx扩展 (Nginx Module)

repo地址 https://github.com/wujunze/nginx-http-echo-module nginx_module_echo 使用echo指令输出一个字符串 Nginx 版本 Nginx1.0.10 https://github.com/nginx/nginx/releases/tag/release-1.0.10 开发环境 OS : CentOS Linux release 7.2.1511 (Core) 安装一个干净的 Nginx 下载 Nginx10.10 并且解压