Ⅰ Nginx伺服器錯誤是什麼原因
Nginx伺服器錯誤一般有以下幾點原因:
1、請求的header過大。nginx默認的header長度上限是4k,如果超過了這個值,nginx會直接返回400錯誤.
解決方法:配置nginx.conf相關設置。可以通過以下2個參數來調整header上限:
client_header_buffer_size 16k;large_client_header_buffers 4 16k。
2、上傳文件過程中出現錯誤。這時瀏覽器顯示「413 Request Entity Too Large」。這是因為沒有設置client_max_body_size,這個參數默認只是1M,也就是說發布的文章內容大小不能超過1M。
解決方法:增加如下兩行到nginx.conf的http{}段, 增大nginx上傳文件大小限制:設置允許發布內容為8M:client_max_body_size 8M;client_body_buffer_size 128k。
另外如果運行的是php,那麼還要檢查php.ini,這個大小client_max_body_size要和php.ini中的如下值的最大值一致或者稍大,這樣就不會因為提交數據大小不一致出現的錯誤:post_max_size = 8M;upload_max_filesize = 6M。
修改完配置後,別忘記重新載入。
3、客戶端在為等到伺服器相應返回前就關閉了客戶端描述符。一般出現在客戶端設置超時後,伺服器主動關閉。
解決方法:根據實際Nginx後端伺服器的處理時間修改客戶端超時時間。
4、腳本錯誤(php語法錯誤、lua語法錯誤)。
解決方法:查看nginx_err_log php_err_log。
5、訪問量過大,系統資源限制,不能打開過多文件。 磁碟空間不足。(access log開啟可能導致磁碟滿溢,伺服器主動關閉)。
解決方法:修改/etc/sysctl.conf文件,並使用下面的命令確認: #sysctl -p。要使 limits.conf 文件配置生效,必須要確保 pam_limits.so 文件被加入到啟動文件中。
6、後端服務無法處理,業務中斷。
解決方法:從後端日誌獲取錯誤原因,解決後端伺服器問題。
7、後端伺服器在超時時間內,未響應Nginx代理請求。
解決方法:根據後端伺服器實際處理情況,調正後端請求超時時間。
8、網站頁面緩存過大。
解決方法:配置nginx.conf相關設置:fastcgi_buffers 8 128k;send_timeout 60。