首先安装好Nginx和PHP(CGI模式),请参考另外两篇日志。
在nginx配置文件,我的系统里面是 /usr/local/nginx-0.5.3/conf/nginx.conf
的server内添加如下配置
location ~ \.php$ {
fastcgi_pass localhost:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/website$fastcgi_script_name;
include conf/fastcgi.conf;
}
其中9000是我的php-cgi与nginx通讯的端口,/usr/local/website是我的网站根目录
创建/usr/local/nginx-0.5.3/conf/fastcgi.conf文件,内容如下:
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
(以上部分参考 http://blog.codefront.net/2007/06/11/nginx-php-and-a-php-fastcgi-daemon-init-script/)
从lighttpd中得到二进制的 spawn-cgi 文件,我把它放在 /usr/local/php-5.2.5/bin下
建立php-cgi到nginx的通道 /usr/local/php-5.2.5/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www -f /usr/local/php-5.2.5/bin/php-cgi
重启nginx,就可以了
(以上部分参考 http://www.linuxdiyf.com/bbs/redirect.php?tid=76830&goto=lastpost
与 http://blog.s135.com/read.php/314.htm)
其他参考:
http://wiki.codemongers.com/NginxFcgiExample
No related posts.
以上关联文章由 Yet Another Related Posts Plugin 提供支持。
Nginx作为Django的Web服务器Linux的时间与时区设置
No related posts.
以上关联文章由 Yet Another Related Posts Plugin 提供支持。
如果在A服务器上装Nginx,静态文件放在A上;B服务器上放PHP程序,并通过Socket连接到A上的Nginx。这种架构的负载均衡,比Apache又先进了一回。Feb老大已经实现了,配置也不复杂。(阿债 2008-04-08)