我的worker是部署在內(nèi)網(wǎng)用的,內(nèi)網(wǎng)有3臺服務器,11.2是應用服務,thinkphp框架,11.3是thinkphp+worker,負責推送及幾個簡單的頁面;
11.3用的centos8+nginx來跑tp和wk的,自己做的證書,就是為了跑ssl。
跑了1個多月一切正常。前幾天機房ups故障,服務器被直接斷電,故障處理后開機就出現(xiàn)問題了!登錄時大幾率出現(xiàn)ERR_CONNECTION_REFUSED,還會有客戶端掉線,也就是說,會突然掉20幾個客戶端。然后客戶端除非刷新,然后在碰運氣不出現(xiàn)ERR_CONNECTION_REFUSED錯誤,才能重新連接上來。
客戶端打頂最高不會超過400,同時在線也不會高于300。
客戶端連接ws = new WebSocket("wss://10.xxx.xxx.xxx/wss");
在11.3的防火墻開了1236/2348/2000/2001~2009/80/443
nginx.conf配置文件
worker的狀態(tài)
ERR_CONNECTION_REFUSED,說明連接被拒絕了,感覺是nginx層的問題。
看看是不是域名配置了多個ip,個別ip沒有啟動服務,客戶端連到有問題的ip導致連接被拒絕。
還有一種可能是nginx掛了。
另外看到status里gateway和businessworker進程有業(yè)務異常,突然20幾個客戶端掉線是因為gateway異常進程退出導致的。
謝謝你熱心的分析,我們公司內(nèi)網(wǎng)沒有域名,簡單粗暴的直接上IP,所有網(wǎng)站都是IP訪問。
如果是nginx掛了,應該不會存在刷新一下又會連上的情況??!所以這幾天都找不出原因
剛看了一下nginx的日志:
2021/09/26 09:10:12 [error] 38812#0: 3 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 10.xxx.xxx.146, server: _, request: "GET /wss HTTP/1.1", upstream: "http://127.0.0.1:2348/wss", host: "10.xxx.xxx.3"
2021/09/26 09:10:12 [error] 38812#0: 3 open() "/var/www/wss/public/50x.html" failed (2: No such file or directory), client: 10.xxx.xxx.146, server: _, request: "GET /wss HTTP/1.1", upstream: "http://127.0.0.1:2348/wss", host: "10.xxx.xxx.3"
2021/09/26 09:10:12 [error] 38812#0: *3 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 10.xxx.xxx.146, server: _, request: "GET /wss HTTP/1.1", upstream: "http://127.0.0.1:2348/wss", host: "10.xxx.xxx.3"
2021/09/26 09:10:12 [error] 38812#0: *3 open() "/var/www/wss/public/50x.html" failed (2: No such file or directory), client: 10.xxx.xxx.146, server: _, request: "GET /wss HTTP/1.1", upstream: "http://127.0.0.1:2348/wss", host: "10.xxx.xxx.3"