关于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,
                ]
        ]
    ];
添加新评论