用workerman做了一个在线聊天室的demo 但是是使用虚拟机映射本地域名,再到宿主机映射,使宿主机可以用域名访问
虚拟机配置
- nginx 下 添加虚拟主机配置域名和访问目录
- /etc/hosts 下映射域名
$ 127.0.0.1 workerman.org
宿主机映射域名
> 192.168.174.128 workerman.org
这样配置后就可以访问了,但是workerman 监听的ws 协议老是报 connection timeout,也就是这个聊天室的demo 访问不了服务端
将防火墙关了
$ systemctl stop firewalld
再跑,还是不行
排查了下,把服务端里创建 ws 对象的代码改回啦
// websocket 协议
$ws_worker = new Worker("websocket://0.0.0.0:2345");
重启 workerman
再次运行demo, bingo~
开启防火墙,打开2345监听端口,并重启防火墙
$ firewall-cmd --permanent --zone=public --add-port=2345/tcp
$ systemctl restart firewalld
网友评论