关于TPR-CMS项目的workman使用以及服务端websocket相关配置

使用

cd server/bin/

#根据需求编写脚本,run()方法可以传入$config
vim workman_server.php

#示例配置
$config = [
        'server' => "websocket://0.0.0.0:2346", //端口可以自定义
        'process_count' => 4 ,
        'ssl'=>false,
        'context'=>[]
    ];
#context的详细配置可以查看workman手册


#以debug(调试)方式启动
 php workman_server.php start

 #以daemon(守护进程)方式启动
 php workman_server.php start -d

 #停止
 php workman_server.php stop

 #重启
 php workman_server.php restart

 #平滑重启
 php workman_server.php reload

 #查看状态
 php workman_server.php status

 #查看连接状态(需要Workerman版本>=3.5.0)
 php workman_server.php connections

服务端配置

  • 解决因防火墙未开启端口而无法连接的问题
firewall-cmd --add-port=2346/tcp --permanent

service firewalld restart
  • 解决因ssl而阻止连接的问题
#服务端防火墙添加https服务
firewall-cmd --permanent --add-service=https
service firewalld restart


//客户端使用wss协议 wss://domain:2346 //https证书是在客户端访问websocket服务端所用域名的证书 $config = [ 'server' => "websocket://0.0.0.0:2346", 'process_count' => 4 , 'ssl'=>true, 'context'=>[ 'ssl' => [ // 使用绝对路径 'local_cert' => '/etc/server/ssl.pem', // 也可以是crt文件 'local_pk' => '/etc/server/ssl.key', 'verify_peer' => false, ] ] ];
添加新评论