通常状况你们刚把lnmp环境安装好以后,把nginx中 fastcgi_pass unix:/tmp/php-cgi.sock项修改为 fastcgi_pass 127.0.0.1:9000以后,网页访问提示502错误页,使用netstat -tlunp查找不了php-cgi进程。php
解决办法:nginx
1. LNMP默认使用unix套接字,虚拟主机配置文件里 fastcgi_pass参数为unix:/tmp/php-cgi.sock;
须要确保/usr/local/php/etc/php-fpm.conf 里的设置
php 5.3及以上版本为listen = /tmp/php-cgi.sock
同时/usr/local/nginx/conf/nginx.conf 及其/usr/local/nginx/conf/vhost/ 下面的虚拟主机配置里的fastcgi_pass unix:/tmp/php-cgi.sock; 不一致就一定502。
2. 有时候unix套接字模式下可能会502
能够尝试改为tcp/ip的方式
php 5.3及以上版本listen = /tmp/php-cgi.sock替换为listen = 127.0.0.1:9000,nginx配置文件及虚拟主机配置文件里fastcgi_pass unix:/tmp/php-cgi.sock;替换为fastcgi_pass 127.0.0.1:9000; 以后重启试试。
总结 :
/usr/local/php/etc/php-fpm.conf listen 要和 nginx.conf 或 vhost中的conf listen保持一致
要和nginx配置 一致