stream_socket_accept(): accept failed: Connection timed out
stream_socket_accept(): accept failed: Resource temporarily unavailable
stream_socket_accept(): accept failed: Connection timed out
stream_socket_accept(): accept failed: Resource temporarily unavailable
stream_socket_accept(): accept failed: Connection timed out
stream_socket_accept(): accept failed: Connection timed out
stream_socket_accept(): accept failed: Connection timed out
stream_socket_accept(): accept failed: Connection timed out
stream_socket_accept(): accept failed: Connection timed out
一台服务器通用内网址址连接过来后,就一直报这个错误
socket日志显示 一直报这个错误,客户端连接一会就报502 Bad Gateway
请问是配置出错误了吗?
用户通过(nginx+workerman)连接
websocket监听地址 '0.0.0.0'
'registerAddress' => '0.0.0.0:15701',
//本机ip,分布式部署时使用内网ip
'lanIp' => '192.168.1.27',
把所有的进程数调整为1试下。
调整完后截图下启动界面
截图已发
[attach]2051[/attach]
[attach]2052[/attach]
[attach]2054[/attach]
改成1个进程后看下是否有
stream_socket_accept(): accept failed: Resource temporarily unavailable
这个报错
设置为1的时候不报这个错误,只要开多个就要报这个问题
设置为1时,客户端还是一直出现502错误,服务器那边的连接也有问题
stream_socket_accept(): accept failed: Resource temporarily unavailable
是因为惊群效应导致的,这个是已知的一种想象,本身不影响业务,原本只是一个warning,老版本workerman源码中用@抑制了错误输出,但是因为业务框架使用了set_error_handler导致抛出了这个错误。
请更新最新版本的workerman,新版本workerman不会因为业务调用set_error_handler导致抛出这个错误。
另外如果使用 php7, 设置 http://doc.workerman.net/worker/reuse-port.html 会彻底避免惊群效应。
502问题看起来并不是惊群效应导致的,你可以直接连接workemran试下,不通过nginx。
谢谢