歡迎您光臨本站 註冊首頁

Nginx服務500:Internal Server Error原因之一

←手機掃碼閱讀     retouched @ 2020-05-14 , reply:0

500(服務器內部錯誤) 服務器遇到錯誤,無法完成請求。 

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

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

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

 504(網關超時) 服務器作為網關或代理,未及時從上游服務器接收請求。 505(HTTP 版本不受支持) 服務器不支持請求中所使用的 HTTP 協議版本。 

Nginx 500錯誤(Internal Server Error 內部服務器錯誤):500錯誤指的是服務器內部錯誤,也就是服務器遇到意外情況,而無法履行請求。 在高併發連接的情況下,Nginx是Apache服務器不錯的替代品。Nginx同時也可以作為7層負載均衡服務器來使用。根據測試結果,Nginx 0.6.31 + PHP 5.2.6 (FastCGI) 可以承受3萬以上的併發連接數,相當於同等環境下Apache的10倍。 但很多人用 Nginx 的時候都會出現 500 錯誤,根據我使用的情況來看,有以下幾種情況。

 1、是否磁盤空間不足? 使用 df -k 查看硬盤空間是否滿了。清理硬盤空間就可以解決500錯誤。nginx如果開啟了access log,在不需要的情況下,最好關閉access log。access log會佔用大量硬盤空間。

 2、nginx配置文件錯誤? 這裡不是指語法錯誤,nginx如果配置文件有語法錯誤,啟動的時候就會提示。當配置rewrite的時候,有些規則處理不當會出現500錯誤,請仔細檢查自己的rewrite規則。如果配置文件裡有些變量設置不當,也會出現500錯誤,比如引用了一個沒有值的變量。

 3、如果上面的問題都不存在可能是模擬的併發數太多了,需要調整一下nginx.conf的併發設置數 

4、還有就是Linux索引節點(inode)用滿導致故障的,df -i 原因可能很多,我只記錄我遇見的。 

500,服務器內部錯誤,其實可能是代碼層面引起的錯誤。 首先查看ngnix或者Apache錯誤日誌,並查看錯誤日誌,根據錯誤日誌基本就能找到錯誤原因,或者google、百度一下錯誤日誌。 其次可以查看框架的報錯日誌信息,比如laravel.log。 sudo find / -name '*.log' or cd /var/log/nginx/ && ls cat /var/log/nginx/newdns.com-error.log 總結:我這次遇見的錯誤是因為我的mysql表沒有`updated_at`, `created_at`字段,也沒有在laravel框架模型中設置 public $timestamps = false; ,改寫異常處理器 Exception 時寫錯了路徑,導致mysql拋出的錯誤,框架異常處理處理不了,就跑到了服務器,導致服務器掛掉,我佛了。 到此這篇關於Nginx服務500:Internal Server Error原因之一的文章就介紹到這了.


[retouched ] Nginx服務500:Internal Server Error原因之一已經有343次圍觀

http://coctec.com/docs/nginx/show-post-234522.html