通常狀況你們剛把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配置 一致