Nginx服務器出現500錯誤的原因及解決方法

Nginx 500錯誤(Intenl See Eo),主要指的是服務器內部錯誤,即服務器遇到意外情況,無法完成請求導致返回出錯。那麼出現Nginx 500錯誤有哪些原因導致的呢?該如何解決?下面一起來了解下。

、磁盤空間不足

使用 df -k 查看硬盤空間是否滿了。如果是由於磁盤空間不足導致的,則可以清理硬盤空間解決500錯誤。Nginx如果開啓了ccess log,在不需要的情況下,最好關閉ccess log。因爲ccess log會佔用大量硬盤空間。

2、Nginx配置文件錯誤

這裏不是指語法錯誤,Nginx配置文件有語法錯誤,啓動的時候就會提示。當配置ewite的時候,有些規則處理不當會出現500錯誤,請仔細檢查您的ewite規則。如果配置文件裏有些變量設置不當,也會出現500錯誤,比如引用了一箇沒有值的變量。

3、併發數太多

如果上面兩種情況都不存在,那麼500錯誤可能是由於模擬的併發數太多了,需要調整一下nginx.conf的併發設置數。

Nginx 500錯誤解決方法:

①查看nginx eo log ,查看php eo log

nginx 錯誤日誌 eo.log 默認位置:/us/locl/nginx/logs

②如果是too mny open files,修改nginx的woke_limit_nofile參數,使用ulimit查看系統打開文件限制,修改/etc/secuity/limits.conf

③如果是腳本的問題,則需要修復腳本錯誤,優化代碼。

④以上各種優化都做好了後,要是出現too mny open files,那就要考慮做Nginx負載均衡,把流量分散到不同服務器上去了。

打開/etc/secuity/limits.conf文件,加上兩句

代碼如下:

* soft nofile 65535

* hd nofile 65535

2 打開/etc/nginx/nginx.conf

在woke_pocesses的下面增加一行

代碼如下:

woke_limit_nofile 65535;

3 重新啓動nginx,重新載入設置

代碼如下:

kill -9 `ps -ef | gep php | gep - gep | wk ̺{pint $2}̻`

/us/bin/spwn-fcgi - 27.0.0. -p 9000 -C 00 -u www-dt -f /us/bin/php-cgi

killll -HUP nginx

重啓後再看nginx的錯誤日誌,也沒有發現500報錯的情況了。

4 有可能是數據庫問題我的在nginx日誌php日誌都沒有發現什麼問題, 最後發現數據庫訪問不了,修正後問題解決。

其他常見的錯誤代碼:

50(尚未實施) 服務器不具備完成請求的功能。例如,當服務器無法識別請求方法時,服務器可能會返回此代碼。

502(錯誤網關) 服務器作爲網關或代理,從上游服務器收到了無效的響應。

503(服務不可用) 目前無法使用服務器(由於超載或進行停機維護)。通常,這只是一種暫時的狀態。

504(網關超時) 服務器作爲網關或代理,未及時從上游服務器接收請求。

505(HTTP 版本不受支持) 服務器不支持請求中所使用的 HTTP 協議版本。

相關閱讀:《Vult主機安裝配置Nginx教程》