centos lnmp 一鍵安裝 裝好後 就報502
阿新 • • 發佈:2019-01-22
3、安裝完LNMP後出現502 Bad Gateway
解決方法:
可以嘗試根據lnmp一鍵安裝包中的指令碼手動安裝一下,看看是什麼錯誤導致的,在網上搜索一下,或者把錯誤資訊發上來。如果實在不會提供按 http://lnmp.org/install.html這個安裝時的lnmp.log日誌檔案(可以用winscp登陸下載lnmp.log,壓縮並上傳到本論壇),沒有錯誤資訊我們沒法說什麼原因。
第二種原因:
在php.ini裡,eaccelerator配置項一定要放在Zend Optimizer配置之前,否則也可能引起502 Bad Gateway
第三種原因:
在安裝好使用過程中出現502問題,一般是因為預設php-cgi程序是5個,可能因為phpcgi程序不夠用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 將其中的max_children值適當增加。
也有可能是max_requests值不夠用。
第四種原因:
php執行超時,修改/usr/local/php/etc/php.ini 將max_execution_time 改為300
第五種原因:
磁碟空間不足,如 mysql日誌佔用大量空間清理一下磁碟上的檔案,有部分剩餘空間,重啟即可恢復。
第六種原因:
檢視php-cgi程序是否在執行
第七種原因:
將nginx.conf裡的
fastcgi_connect_timeout
fastcgi_send_timeout
fastcgi_read_timeout都調大一點。
第八種可能原因:http://bbs.vpser.net/thread-1654-1-1.html
九、也可以嘗試將unix套接字改成tcp/ip的,修改/usr/local/php/etc/php-fpm.cnf 裡設定<value name=“listen_address”>/tmp/nginx.socket</value> 改成<value name=“listen_address”>127.0.0.1:9000</value> ,同時/usr/local/nginx/conf/nginx.conf 及其/usr/local/nginx/conf/vhost/ 下面的虛擬主機配置裡的fastcgi_pass unix:/tmp/php-cgi.sock; 替換為fastcgi_pass 127.0.0.1:9000; 之後重啟試試。
十、如果虛擬主機的日誌檔案過大也可能會造成502問題。
建議定期清空一下虛擬主機的日誌檔案。
十一、有些程式或者程式的主題有死迴圈或其他非常佔用資源的程式碼也可能會引起502,可以嘗試暫時註釋掉可能的主機的配置檔案,重啟看看是否還會502。
十二、如果以上方法都試過,但還有時會出現502錯,可以嘗試新增502自動重啟指令碼: http://bbs.vpser.net/thread-1913-1-1.html
解決方法:http://bbs.vpser.net/viewthread.php?tid=1144
我的使用 第八種方法解決的
LNMP一鍵安裝包的Nginx 502 Bad Gateway錯誤可能原因及解決方法
第一種原因:目前lnmp一鍵安裝包比較多的問題就是502 Bad Gateway,大部分情況下原因是在安裝php前,指令碼中某些lib包可能沒有安裝上,造成php沒有編譯安裝成功。可以看一下是否存在/usr/local/php/sbin/php-fpm ,如果沒有肯定沒安裝成功解決方法:
可以嘗試根據lnmp一鍵安裝包中的指令碼手動安裝一下,看看是什麼錯誤導致的,在網上搜索一下,或者把錯誤資訊發上來。如果實在不會提供按
第二種原因:
在php.ini裡,eaccelerator配置項一定要放在Zend Optimizer配置之前,否則也可能引起502 Bad Gateway
第三種原因:
在安裝好使用過程中出現502問題,一般是因為預設php-cgi程序是5個,可能因為phpcgi程序不夠用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 將其中的max_children值適當增加。
也有可能是max_requests值不夠用。
第四種原因:
php執行超時,修改/usr/local/php/etc/php.ini 將max_execution_time 改為300
第五種原因:
磁碟空間不足,如
第六種原因:
檢視php-cgi程序是否在執行
第七種原因:
將nginx.conf裡的
fastcgi_connect_timeout
fastcgi_send_timeout
fastcgi_read_timeout都調大一點。
第八種可能原因:http://bbs.vpser.net/thread-1654-1-1.html
九、也可以嘗試將unix套接字改成tcp/ip的,修改/usr/local/php/etc/php-fpm.cnf 裡設定<value name=“listen_address”>/tmp/nginx.socket</value> 改成<value name=“listen_address”>127.0.0.1:9000</value> ,同時/usr/local/nginx/conf/nginx.conf 及其/usr/local/nginx/conf/vhost/ 下面的虛擬主機配置裡的fastcgi_pass unix:/tmp/php-cgi.sock; 替換為fastcgi_pass 127.0.0.1:9000; 之後重啟試試。
十、如果虛擬主機的日誌檔案過大也可能會造成502問題。
建議定期清空一下虛擬主機的日誌檔案。
十一、有些程式或者程式的主題有死迴圈或其他非常佔用資源的程式碼也可能會引起502,可以嘗試暫時註釋掉可能的主機的配置檔案,重啟看看是否還會502。
十二、如果以上方法都試過,但還有時會出現502錯,可以嘗試新增502自動重啟指令碼: