Nginx fast-cgi 启动了,但是 Nginx 无法执行 PHP

XiaoYao · 2013年07月21日 · 最后由 boostbob 回复于 2013年08月07日 · 6088 次阅读

我用的是 ubuntu12.04,php 是 5.2.10 然后用的 spawn-fcgi。top 里面能看到 php5-cgi 启动起来了,访问 html 没问题,我用 nginx upstream 转发到 apache(8080 端口)也能执行 php 程序,就是 fastcgi 有问题。网页提示 502,日志 connect() failed (111: Connection refused) while connecting to upstream, client: 123.151.148.160, server: new.cdfdc.gov.cn, request: "GET /archive.php?addno=8&aid=120&ccid12=3032&ccid5=184&ccid6=188&fang=zhu&sort=mj:1 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "new.cdfdc.gov.cn", referrer: "http://new.cdfdc.gov.cn/" 服务器内存什么的消耗都很低,基本上不会是资源不足问题。另外 fastcgi 进程使用数也远远没有达到我的设定的进程数目 我的网站配置 server { listen 80; server_name fdcsck.com www.fdcsck.com;

# handling 404 error for root error_page 404 /index.html;

access_log /var/log/nginx/access.log; error_log /var/log/nginx/sck_error.log;

location / { root /var/www/fdcsck; index index.php index.html index.htm; }

location ~ .php$ { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; #fastcgi_pass unix:/var/run/php-fastcgi/php-fastcgi.socket; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/fdcsck$fastcgi_script_name; } nginx 配置

user www-data; worker_processes 2; pid /var/run/nginx.pid;

events { worker_connections 768; # multi_accept on; }

## # Basic Settings ##

sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; client_max_body_size 100m; # server_tokens off;

# server_names_hash_bucket_size 64; # server_name_in_redirect off;

include /etc/nginx/mime.types; default_type application/octet-stream;

求各位大神指点。小弟感激不尽

php-fcgi 设定呢? nginx 和 php-fcgi 的用户要一致。

现在比较好的做法是用 php-fpm 代替 spawn-fcgi

5.2 的应该还没有 php-fpm,应该要到 5.3 还是 5.4 忘了

#1 楼 @bwlinux 都是在 www-data 用户组和用户下的

#2 楼 @imlcl 我的程序是在 php5.2.10 上的,php5-fpm 我在另外一台服务器上用的是没问题。但是这台服务器只能用 php5.3 以下的,因为代码用 zend 加过密

php5-fpm + proxy_pass

需要 登录 后方可回复, 如果你还没有账号请 注册新账号