1. 程式人生 > >LNMP 502 bad gateway解決

LNMP 502 bad gateway解決

lnmp安裝後,Fastcgi 預設的監聽埠是這樣的:fastcgi_pass  unix:/tmp/php-cgi.sock;

而隨心微博之前沒發生502錯誤的配置檔案是:fastcgi_pass  127.0.0.1:9000;

換成監聽9000埠後,再次狂重新整理頁面,沒有出現;找一個外地朋友測試一下:重新整理50+,沒有出現502。而之前我是基本上重新整理了八九次就會出現一次502錯誤;

所以,確定應該就是fastcgi監聽埠的問題引起的;

具體步驟:

1.修改nginx.conf

nginx安裝目錄:/usr/local/nginx/conf/ ,開啟nginx.conf,查詢到:

fastcgi_pass  unix:/tmp/php-cgi.sock;

改為:

fastcgi_pass  127.0.0.1:9000;

2.修改php-fpm.conf

php安裝目錄:,/usr/local/php/etc/,開啟php-fpm.conf

查詢到第26行:     

 <value name="listen_address">/tmp/php-cgi.sock</value>

改為

      <value name="listen_address">127.0.0.1:9000</value>

3.依次重啟Nginx和php-fpm

nginx 重啟:
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload

php-fpm重啟:

/usr/local/php/sbin/php-fpm restart

okay,完成操作,現在試試是否還存在502錯誤了吧,如果還存在,可能就是fastcgi程序數不夠,可適當根據自身伺服器記憶體需要,修改cgi程序數目,在php-fpm.conf修改max_children最大數目,如我的伺服器2G記憶體,修改為  <value name="max_children">72</value>。

可能還會修改:

      <value name="request_terminate_timeout">9999s</value>

      <value name="request_slowlog_timeout">999s</value>