1、解決500錯誤:php
1、500錯誤指的是服務器內部錯誤,也就是服務器遇到意外狀況,而沒法履行請求。nginx
2、500錯誤通常有幾種狀況:web
(1)web腳本錯誤,如php語法錯誤,lua語法錯誤等。後端
(2)訪問量大的時候,因爲系統資源限制,而不能打開過多的文件服務器
3、通常分析思路:負載均衡
(1)查看nginx error log ,查看php error logide
(2)若是是too many open files,修改nginx的worker_rlimit_nofile參數,使用ulimit查看系統打開文件限制,修改/etc/security/limits.confphp-fpm
(3)若是是腳本的問題,則須要修復腳本錯誤,並優化代碼性能
(4)各類優化都作好,仍是出現too many open files,那就要考慮作負載均衡,把流量分散到不一樣服務器上去了優化
2、解決502,504錯誤
1、使用nginx代理,然後端服務器發生故障;或者php-cgi進程數不夠用;php執行時間長,或者是php-cgi進程死掉;已經fastCGI使用狀況等都會致使50二、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。與nginx.conf
的配置也有關係