解決方法:
(推薦教程:nginx教程)
一、解決500錯誤
1、500錯誤指的是服務器內部錯誤,也就是服務器遇到意外情況,而無法履行請求。
2、500錯誤一般有幾種情況:
(2)訪問量大的時候,由于系統資源限制,而不能打開過多的文件。
3、一般分析思路:
(1)查看nginx Error log ,查看php error log
(2)如果是too many open files,修改nginx的worker_rlimit_nofile參數,使用ulimit查看系統打開文件限制,修改/etc/security/limits.conf
(3)如果是腳本的問題,則需要修復腳本錯誤,并優化代碼
(4)各種優化都做好,還是出現too many open files,那就要考慮做負載均衡,把流量分散到不同服務器上去了。
二、解決502、504錯誤
1、使用nginx代理,而后端服務器發生故障;或者php-CGI進程數不夠用;php執行時間長,或者是php-cgi進程死掉;已經fastCGI使用情況等都會導致502、504。
2、502 是指請求的php-fpm已經執行,但是由于某種原因而沒有執行完畢,最終導致php-fpm進程終止。
一般來說,與php-fpm.conf的設置有關,也與php的執行程序性能有關,網站的訪問量大,而php-cgi的進程數偏少。針對這種情況的502錯誤,只需增加php-cgi的進程數。
具體就是修改/usr/local/php/etc/php-fpm.conf文件,將其中的max_children值適當增加。
這個數據要依據你的VPS或獨立服務器的配置進行設置。一般一個php-cgi進程占20M內存,你可以自己計算下,適量增多。
/usr/local/php/sbin/php-fpm restart 然后重啟一下。
3、504 表示超時,也就是客戶端所發出的請求沒有到達網關,請求沒有得到可以執行的php-fpm。
三、解決503錯誤
503 Service Temporarily Unavailable錯誤
單個ip并發設置過小會導致503報錯。