Gateway-Worker启动失败或者启动无法正常使用的几种方法
Workerman是一款开源高性能异步PHP socket即时通讯框架。支持高并发,超高稳定性,被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。 支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、MQTT物联网客户端、异步消息队列等众多高性能组件。
环境
1. CentOS 7.0
2.ThinkPHP 5.1
3.Workman 3.5.20
问题
1. ThinkPHP5.1以后,不能将vendor中的包(workman也在其中)复制后直接使用里面的类,在项目刚搭建的时候可以将需要的包写在composer.json中后composer install,或者composer require flc/dysms 等。
2. workman安装成功,基本的业务功能也写完了,进入服务器找到项目的根目录,输入 php think worker:gateway -d,或者 php think worker:gateway start。
3. 可能启动成功,输入 php think worker:gateway status 查看进程的信息。
4. 服务端成功后,上面"websocket://0.0.0.0:9502“ 在客户端如果连接出现 ”WebSocket connection to 'ws://x.x.x.x:2346/' failed: Error in connection establishment:net::ERR_NAME_NOT_TIMED_OUT“,表示防火墙拦住了设置的端口。
方法:如果CentOS安装了宝塔面板,安全->添加端口->放行。如果使用命令添加,最后 firewall-cmd reload 命令重启防火墙即可。
5. 启动成功,客户端通过websocket连接也没有报错,但就是发送消息过来,后端的Events中OnMessage事件一直接收不到消息。问题就有可能就是Events文件中有语法错误或者什么异常。
方法:去vendor文件夹中找到workman的workman.log,查看错误的地方在哪里再修改即可解决。
6. 如果启动后出现PHP Warning: stream_socket_server(): unable to connect to tcp://xx.xx.xx.xx:xxxx (Address already in use) in /home/workerman-chat/Workerman/Worker.php on line xxxx
方法:通过命令netstat -anp | grep 端口号来找出哪个程序占用了端口,然后关闭对应程序释放端口。
7. 如果启动后出现Waring stream_socket_server has been disabled for security reasons in ...
方法:找到运行的PHP版本的php.ini ,禁用函数stream_socket_server去除,宝塔操作如下。
8. 如果启动后出现PHP Warning: stream_socket_server(): unable to connect to tcp://0.0.0.0:xxx (Permission denied)
方法:使用大于1024的端口或者使用root用户启动服务。
9. PHP Warning: stream_socket_server(): unable to connect to tcp://xx.xx.xx.xx:xxx (Cannot assign requested address) in /home/GatewayWorker/Workerman/Worker.php on line xxxx
方法:启动脚本ip参数写错,不是本机ip,请填写本机ip机或者填写 0.0.0.0(表示监听本机所有ip)即可解决。提示:Linux系统可以通过命令 ifconfig查看本机所有网卡ip。如果您是腾讯云用户,注意您的公网ip实际是代理服务器ip,公网ip并不属于你的服务器,所以无法通过公网ip绑定,但是可以通过0.0.0.0来绑定。
Gateway-Worker启动失败或者启动无法正常使用的几种方法的更多相关文章
- vue自定义指令,比onerror更优雅的方式实现当图片加载失败时使用默认图,提供三种方法
首先,来看下效果图(演示一下图片正常加载与加载失败时的效果) 在线体验地址:https://hxkj.vip/demo/vueImgOnerror/ 一.常规方法解决 我们都知道,img标签支持one ...
- IIS启动失败,启动Windows Process Activation Service时,出现错误13:数据无效 ;HTTP 错误 401.2 - Unauthorized 由于身份验证头无效,您无权查看此页
因为修改过管理员账号的密码后重启服务器导致IIS无法启动,出现已下异常 1.解决:"启动Windows Process Activation Service时,出现错误13:数据无效&quo ...
- winmail服务器启动失败 无法启动
1.解决句柄问题:打开命令行:开始 -> 运行-> 输入 cmd -> 确定.切换命令目录至winmail的服务目录,我的是:E:\htdocs\Winmail\server\> ...
- nginx 子进程 woker process 启动失败的问题
问题: 重启nginx服务,worker process 子进程启动失败,启动的都是master进程: 负载急速升高(平常都是4-5),占用CPU资源多的前十进程都是nginx : nginx 错误日 ...
- WinCE启动失败的原因与解决办法分析
本文通过一个真实的嵌入式项目进行说明.文中的嵌入式系统用的是ARM处理器+WinCE平台,项目的目的是要把WinCE平台从旧版本移植到WinCE6.0平台上.但结果是这个WinCE系统在启动的时候经常 ...
- XAMPP中Apache和Mysql启动失败问题总结
一.Apache启动失败 xampp启动时显示的错误为: 9:52:41 [Apache] Attempting to start Apache app... 9:52:41 [Apache] ...
- filebeat 启动失败
最近在ELK架构中启动filebeat时,启动失败,检查启动节点不存在 查看/var/log/message中报错日志,有如下内容 filebeat: Exiting:error loading co ...
- nginx启动失败(bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket...permissions)
nginx启动失败 nginx启动失败(bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a ...
- 一个或多个筛选器或者Listeners启动失败 的问题探索以及解决方案
2020年10月9日更新 经过本人对SSM框架理解的加深和对IDEA工具使用的熟悉,现提出一种新的解决办法,以前的解决办法可能存在问题 1. 问题描述: 使用IDEA作为开发工具,使用Maven作为项 ...
随机推荐
- Asp.Net报https请求报传输流收到意外的 EOF 或 0 个字节
网上搜索,都说是.net framework版本太低,改为.net 4.5以上版本即可.于是使用vs2017环境测试了下,使用.net framework4.5版本确实可以正常返回结果,低于这个版本就 ...
- [RN] React Native 下拉放大动画
React Native 下拉放大动画 经测试,无法运行 https://www.jianshu.com/p/1c960ad75020
- windows下如何制作和应用数字签名证书 全流程
目前我们在发布应用程序时,有时用户下载后会被360杀毒当做木马直接隔离.为应用程序可执行文件打上数字签名可以让360杀毒放宽检测规则.下文是讲述如何制作数字签名证书的过程. 需要准备的工具:makec ...
- css----单行文本超出部分显示省略号
width: 300px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
- Burnside引理
参考了神仙gzy的博客 置换:把一个排列变成另外一个排列,简单来说就是一一映射. 置换群:置换的集合. 置换即给定一个排列\({f_1,f_2,...,f_n}\),若其作用在一个排列上,则这个排列置 ...
- 趣谈Linux操作系统学习笔记:第二十七讲
一.文件系统的功能规划 1.引子 咱们花了这么长的时间,规划了会议室管理系统,这样多个项目执行的时候,隔离性可以得到保证. 但是,会议室里面被回收,会议室里面的资料就丢失了.有一些资料我们希望项目结束 ...
- [Gamma阶段]测试报告
[Gamma阶段]测试报告 博客目录 测试方法及过程 在正式发布前,为检验后端各接口功能的正确性,后端服务器对压力的耐受程度,以及前端各页面.功能的运行情况,我们对我们的服务器及小程序进行了多种测试. ...
- spring&pom两种获取profile的方式
一.原理: 1.实现ApplicationContextAware(当一个类实现了ApplicationContextAware这个接口之后,这个类就可以通过setApplicationContext ...
- 日志篇 随着win10更新...
随着win10更新到最新..我发现电脑出了点状况.. 一 是电脑睡眠主机不关闭...然后用了 https://jingyan.baidu.com/article/cb5d6105d76343005c2 ...
- SyntaxError: Non-ASCII character ‘\xe5’ in file 的解决办法
在Python脚本中包含中文的时候,会遇到编码错误.例如: 出现SyntaxError: Non-ASCII character ‘\xe5’ in file 的错误. 解决办法:是因为编码有问题,所 ...