查看服务:php think xxx status 服务都正常。 查看gateway日志发现,3个周多点,日志量就达到1.2G,没找到问题出现的原因,只好重启服务,重启后正常。
需求:目前框架有没有继承日志分割服务?
workerman.log 产生大量日志说明业务出现了问题,要去解决它,解决了就不会产生日志了。 workerman.log没有日期分割功能
哦哦,感谢
大神,求助这日志输出是啥错误
> pid:6241 think\exception\ErrorException: stream_socket_client(): unable to connect to tcp://192.168.1.28:2301 (Connection refused) in /www/wwwroot/ws.icloudcity.cn/cronjob/vendor/workerman/gateway-worker/src/Lib/Gateway.php:755 Stack trace: #0 [internal function]: think\initializer\Error->appError(2, 'stream_socket_c...', '//ws...', 755, Array) #1 /cronjob/vendor/workerman/gateway-worker/src/Lib/Gateway.php(755): stream_socket_client('tcp://192.168.1...', 111, 'Connection refu...', 3) #2 /cronjob/vendor/workerman/gateway-worker/src/Lib/Gateway.php(700): GatewayWorker\Lib\Gateway::getBufferFromGateway(Array) #3 /cronjob/vendor/workerman/gateway-worker/src/Lib/Gateway.php(658): GatewayWorker\Lib\Gateway::getBufferFromSomeGateway(Array) #4 /cronjob/vendor/workerman/gateway-worker/src/Lib/Gateway.php(488): GatewayWorker\Lib\Gateway::select(Array, Array) #5 /cronjob/app/command/workerHandler/GatewayEvents.php(524): GatewayWorker\Lib\Gateway::getUidByClientId('c0a8011c08fd000...') #6 /cronjob/app/command/workerHandler/GatewayEvents.php(228): app\command\workerHandler\GatewayEvents::checkMessageParams('c0a8011c08fd000...', Array) #7 [internal function]: app\command\workerHandler\GatewayEvents::onMessage('c0a8011c08fd000...', '{"moduleName":"...') #8 /cronjob/vendor/workerman/gateway-worker/src/BusinessWorker.php(408): call_user_func('app\\command\\wor...', 'c0a8011c08fd000...', '{"moduleName":"...') #9 /cronjob/vendor/workerman/workerman/Connection/TcpConnection.php(638): GatewayWorker\BusinessWorker->onGatewayMessage(Object(Workerman\Connection\AsyncTcpConnection), Array) #10 [internal function]: Workerman\Connection\TcpConnection->baseRead(Resource id #197, 2, Resource id #197) #11 /cronjob/vendor/workerman/workerman/Events/Event.php(193): EventBase->loop() #12 /cronjob/vendor/workerman/workerman/Worker.php(2418): Workerman\Events\Event->loop() #13 /cronjob/vendor/workerman/gateway-worker/src/BusinessWorker.php(197): Workerman\Worker->run() #14 /cronjob/vendor/workerman/workerman/Worker.php(1542): GatewayWorker\BusinessWorker->run() #15 /cronjob/vendor/workerman/workerman/Worker.php(1373): Workerman\Worker::forkOneWorkerForLinux(Object(GatewayWorker\BusinessWorker)) #16 /cronjob/vendor/workerman/workerman/Worker.php(1347): Workerman\Worker::forkWorkersForLinux() #17 /cronjob/vendor/workerman/workerman/Worker.php(542): Workerman\Worker::forkWorkers() #18 /cronjob/app/command/GatewayServer.php(61): Workerman\Worker::runAll() #19 /cronjob/vendor/topthink/framework/src/think/console/Command.php(210): app\command\GatewayServer->execute(Object(think\console\Input), Object(think\console\Output)) #20 /cronjob/vendor/topthink/framework/src/think/Console.php(655): think\console\Command->run(Object(think\console\Input), Object(think\console\Output)) #21 /cronjob/vendor/topthink/framework/src/think/Console.php(314): think\Console->doRunCommand(Object(app\command\GatewayServer), Object(think\console\Input), Object(think\console\Output)) #22 /cronjob/vendor/topthink/framework/src/think/Console.php(251): think\Console->doRun(Object(think\console\Input), Object(think\console\Output)) #23 /cronjob/think(10): think\Console->run() #24 {main}#24 {main}
是不是分布式部署,1.111主机链接不上导致的?
连不上192.168.1.28:2301
我从宝塔里看,放行端口:[2300-2303] 正常 2022-01-12 09:53:16 端口开放正常啊
而且这是当且服务就运行在192.168.1.28主机上
192.168.1.111是分布式服务
192.168.1.28 只启动这一台的服务是正常的,当启动192.168.1.111分布式后,28那台服务器上的日志就会出现 stream_socket_client(): unable to connect to tcp://192.168.1.28:2301
192.168.1.28 这台服务器执行 php start.php status 截图下
第一张是只运行28服务,第二张是两个服务都运行截图
现在看没问题
竟然不出现这个问题了,难道是我启动的方式不对,php xx start & ,现在都换成php xx start --d
这是开启111那台服务后,28服务的截图
这是111服务上的截图
@walkor 今天出现这个问题unserialize() Error, 导致进程退出。 .1.28服务 .1.111服务
可能是有网络探测程序获取其它程序发了不合法的包,如果你是单机部署,start_gateway.php 里lanip用127.0.0.1。
两台机器部署的
报错有调用栈,你可以自己记录日志,看下导致报错的数据包是什么内容
workerman.log 产生大量日志说明业务出现了问题,要去解决它,解决了就不会产生日志了。
workerman.log没有日期分割功能
哦哦,感谢
大神,求助这日志输出是啥错误
是不是分布式部署,1.111主机链接不上导致的?
连不上192.168.1.28:2301
我从宝塔里看,放行端口:[2300-2303] 正常 2022-01-12 09:53:16 端口开放正常啊
而且这是当且服务就运行在192.168.1.28主机上
192.168.1.111是分布式服务
192.168.1.28 只启动这一台的服务是正常的,当启动192.168.1.111分布式后,28那台服务器上的日志就会出现 stream_socket_client(): unable to connect to tcp://192.168.1.28:2301
192.168.1.28 这台服务器执行 php start.php status 截图下
第一张是只运行28服务,第二张是两个服务都运行截图
现在看没问题
竟然不出现这个问题了,难道是我启动的方式不对,php xx start & ,现在都换成php xx start --d
这是开启111那台服务后,28服务的截图
这是111服务上的截图
@walkor 今天出现这个问题unserialize() Error, 导致进程退出。
.1.28服务
.1.111服务
可能是有网络探测程序获取其它程序发了不合法的包,如果你是单机部署,start_gateway.php 里lanip用127.0.0.1。
两台机器部署的
报错有调用栈,你可以自己记录日志,看下导致报错的数据包是什么内容