PHP启动php-fpm成功,但php-cgi进程查找不到 502 getaway

一般情况大家刚把lnmp环境安装好之后,把nginx中 fastcgi_pass unix:/tmp/php-cgi.sock项修改成 fastcgi_pass 127.0.0.1:9000之后,网页访问提示502错误页,使用netstat -tlunp查找不了php-cgi进程。

解决办法:

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配置 一致
posted @ 2017-08-01 15:49  土豆柿子  阅读(1500)  评论(0编辑  收藏  举报