先安装composer 2.4版本
进入composer 运行composer require topthink/think-worker
在安装 composer require workerman/gateway-worker
这是config 里面有3个文件worker_server.php 更改为 'protocol' => 'websocket',
gateway_worker.php
worker.php
(腾讯云开放端口号,关闭防火墙)
然后启动 php think worker:server
前端链接测试
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>
测试
</title>
</head>
<body>
<script src="" target="_blank">https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script type="text/javascript">
var websocket = window.WebSocket || window.MozWebSocket;
var ws = new websocket("ws://127.0.0.1:2345");
ws.onopen=function(){
alert('链接成功');
ws.send('I like');
alert('发送了一个 字符串');
}
</script>
</body>
</html>
php think worker:gateway
启动gateway更改链接
php think worker:gateway stop 停止
php think worker:gateway reload 重启
php think worker:gateway status 运行状态
php think worker:gateway start 启动
ws://150.158.93.36:2345?token=1&to_mid=2 链接
php think worker:gateway -d --daemon 后台运行
使用测试工具发送{"content":"哈哈哈哈"}
需要设置https
如果是https 则前端使用格式 "wss://fuchuntest.1024zy.cn/wss
宝塔配置文件修改 增加
location /wss {
proxy_pass http://150.158.93.36:2345; #代理到上面的地址去,格式:http://ip:端口号,
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_connect_timeout 5s; #配置点1
proxy_read_timeout 60000s; #配置点2,如果没效,可以考虑这个时间配置长一点
proxy_send_timeout 60000s; #配置点3
}