先說環境:
一臺windows機器,只跑了nginx,做代理。
一臺linux服務器,lnmp環境,運行一個php網站。
在windows的nginx上做了代理,nginx.conf配置文件相關參數并未調整什么。第一天跑的很正常,第二天出現了502,直接hosts綁定linux服務器的ip訪問沒有任何問題。
我相信,大多數人不會懷疑問題出在linux服務器上,畢竟綁定hosts直接訪問是沒有任何問題的。所以,在windows上折騰很久,無論重啟nginx服務還是重啟系統,還是502。
查看windows上nginx的錯誤日志error.log,發現很多“[error] 2420#2560: *27 WSARecv() failed (10054: An existing connection was forcibly closed by the remote host) while reading response header from upstream ”
這種日志很少見,但可以判定問題出在linux服務器上。于是到linux服務器上打開錯誤日志,可惜并未發現什么問題。
去搜google吧,也沒有找到好的解決辦法。
還好,我印象中多年前遇到過一次類似的問題,不過是linux代理linux,癥狀和該問題基本類似,當時的解決辦法是,修改被代理的linux服務器nginx配置文件nginx.conf中worker_connections參數的值,當時記得是51200,改為4096就ok了。
到linux服務器上,打開nginx配置文件,發現worker_connections竟然也是51200,改為4096后,重啟nginx服務。
驚喜再現,問題就這樣解決了!
解決后,才想到:應該在linux服務器上把error日志的級別調整為debug,就可以看到更多信息了。
由于是客戶的機器,就沒有再去折騰。
-
Linux
+關注
關注
87文章
11339瀏覽量
210119 -
nginx
+關注
關注
0文章
154瀏覽量
12207
原文標題:原創 | 一個nginx 502問題解決方案
文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論