Nginx 服務報錯502排查

2021-10-01 14:10:47 字數 1024 閱讀 6160

伺服器併發量上來後部分介面報錯502,但是經檢視併發量遠沒達到伺服器極限。檢視nginx中配置檔案(/usr/local/nginx/conf/vhost/)中對應站點的日誌位置(/data/log/),發現報錯誤
connect

() to unix:

/tmp/php-cgi.sock failed

netstat -n | awk '/^tcp/  end '
結果為

time_wait值比較大,然後檢視這些time_wait都發生在**

netstat -an
發現大部分time_wait都發生在3306埠上,最終解釋為php**中mysql連線執行後並沒有及時關閉。

此處我們使用除錯linux核心配置來優化。

編輯檔案 (/etc/sysctl.conf),新增修改如下配置

net.ipv4.tcp_syncookies =

1#表示開啟syn cookies。當出現syn等待佇列溢位時,啟用cookies來處理,可防範少量syn攻擊,預設為0,表示關閉;

net.ipv4.tcp_tw_reuse =

1#表示開啟重用。允許將time-wait sockets重新用於新的tcp連線,預設為0,表示關閉;

net.ipv4.tcp_tw_recycle =

1#表示開啟tcp連線中time-wait sockets的快速**,預設為0,表示關閉。

net.ipv4.tcp_fin_timeout =

30#修改系統預設的timeout時間30s

修改之後,然後執行/sbin/sysctl -p讓引數生效

發現time_wait數量會減少很多。再次檢視nginx錯誤日誌,沒有發現同樣的錯誤資訊。暫告一段落,繼續觀察。

程式報錯,一點排查故障的經驗

我之前遇到過這樣的問題,提示 我直接翻譯中文了,相信大部分程式設計師都有遇到過這種問題 找不到方法或者xml檔案。最後,我把xml檔案裡的 複製乙份出來,把原檔案刪除刪除,新建乙個新的xml檔案,名字和之前一樣,也是複製過去的,為了保險起見,我先clean專案,再install,最後才啟動tomca...

nginx 400 報錯,故障排查

nginx的400錯誤比較難查詢原因,因為此錯誤並不是每次都會出現的,另外,出現錯誤的時候,通常在瀏覽器和日誌裡看不到任何有關提示。經長時間觀察和大量試驗查明,此乃request header過大所引起,request過大,通常是由於cookie中寫入了較大的值所引起。解決辦法這 在nginx.co...

Nginx 502錯誤排查及解決辦法

一些執行在nginx上的 有時候會出現 502 bad gateway 錯誤,有些時候甚至頻繁的出現。有些站長是在剛剛轉移到nginx之後就出現了這個問題,所以經常會懷疑這是不是nginx的問題,但事實上這是個誤區。nginx 502 bad gateway錯誤是fastcgi有問題,造成nginx...