微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

GatewayWorker 笔记

利用Nginx/apache代理wss

server {
  listen 443;
 
  ssl on;
  ssl_certificate /etc/ssl/server.pem;
  ssl_certificate_key /etc/ssl/server.key;
  ssl_session_timeout 5m;
  ssl_session_cache shared:SSL:50m;
  ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
 
  location /wss
  {
    proxy_pass http://127.0.0.1:8282;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_set_header X-Real-IP $remote_addr;
  }
 
  # location / {} 站点的其它配置...
}

 

前端连接:

new WebSocket("ws://localhost:8282");

ws = new WebSocket("wss://xxfb.sdshanweixian.com:8099");

解决

客户端是websocket协议,服务端也要设置成websocket协议。

将start_gateway.PHP

new Gateway('tcp://0.0.0.0:8282'); 

改成 

new Gateway('websocket://0.0.0.0:8282');

初始使用tcp是便于telnet 127.0.0.1 8282调试。

启动
以debug(调试)方式启动

PHP start.PHP start

以daemon(守护进程)方式启动

PHP start.PHP start -d

停止
PHP start.PHP stop

重启
PHP start.PHP restart

平滑重启
PHP start.PHP reload

查看状态
PHP start.PHP status

debug和daemon方式区别
1、以debug方式启动,代码中echo、var_dump、print等打印函数会直接输出在终端。

2、以daemon方式启动,代码中echo、var_dump、print等打印会重定向到/dev/null文件,可以通过设置Worker::$stdoutFile = '/your/path/file';来设置这个文件路径。

3、以debug方式启动,终端关闭后workerman会随之关闭退出

4、以daemon方式启动,终端关闭后workerman继续后台正常运行。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐