一:500錯誤 1、500 Internal Server Error 內部服務錯誤:顧名思義500錯誤一般是伺服器遇到意外情況,而無法完成請求。 2、500出錯的可能性: a、編程語言語法錯誤,web腳本錯誤 b、併發高時,因為系統資源限制,而不能打開過多的文件 3、一般解決思路: a、查看ngi ...
一:500錯誤
1、500 Internal Server Error 內部服務錯誤:顧名思義500錯誤一般是伺服器遇到意外情況,而無法完成請求。
2、500出錯的可能性:
a、編程語言語法錯誤,web腳本錯誤
b、併發高時,因為系統資源限制,而不能打開過多的文件
3、一般解決思路:
a、查看nginx、php的錯誤日誌文件,從而看出端倪
b、如果是too many open files,修改nginx的worker_rlimit_nofile參數,使用ulimit查看系統打開文件限制,修改/etc/security/limits.conf,還是出現too many open files,那就要考慮做負載均衡,把流量分散到不同伺服器上去了
c、如果是腳本的問題,則需要修複腳本錯誤,優化代碼
二:502、504錯誤
1、502 Bad Gateway錯誤、504 Bad Gateway timeout 網關超時
2、502、504出現的可能性
web伺服器故障、程式進程不夠
3、一般解決思路
a、使用nginx代理,而後端伺服器發生故障;或者php-cgi進程數不夠用;php執行時間長,或者是php-cgi進程死掉;已經fastCGI使用情況等都會導致502、504錯誤。
b、502 是指請求的php-fpm已經執行,但是由於某種原因而沒有執行完畢,最終導致php-fpm進程終止。一般來說,與php-fpm.conf的設置有關,也與php的執行程式性能有關,網站的訪問量大,而php-cgi的進程數偏少。針對這種情況的502錯誤,只需增加 php-cgi的進程數。具體就是修改/usr/local/php/etc/php-fpm.conf文件,將其中的max_children值適當增加。這個數據要依據你的伺服器的配置進行設置。一般一個php-cgi進程占20M記憶體,你可以自己計算下,適量增多。
/usr/local/php/sbin/php-fpm reload 然後重啟一下.
c、504 表示超時,也就是客戶端所發出的請求沒有到達網關,請求沒有到可以執行的php-fpm。與nginx.conf的配置也有關係。
501 伺服器不具備完成請求的功能。例如,伺服器無法識別請求方法時可能會返回此代碼。
503 伺服器目前無法使用(由於超載或停機維護)。通常,這隻是暫時狀態。(服務不可用)
505 伺服器不支持請求中所用的 HTTP 協議版本。(HTTP 版本不受支持)