为什么要启用websocket?WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许...
为什么要启用websocket?
WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。
通过websocket可以实现魔缇Smsot2.0中的即时聊天、即时通知等功能。
视频教程(官网视频教程挂了,所以我又自己重新做了一个)
https://www.aliyundrive.com/s/mHfRgjqbkdF高清视频地址
配置参数https启用密钥配置
在
socket/Applications/smsotstart_gateway.php中设置
'local_cert' => 'fullchain.pem', // 也可以是crt文件
'local_pk' => 'privkey.pem',//private key文件
修改
fullchain.pem和
privkey.pem的具体引用位置
后台需要配置的参数
服务器IP地址:0.0.0.0
外网websocket端口:9011
通信进程数:5
内网IP地址:127.0.0.1
内部通讯起始端口:9012
服务注册端口:9020
使用终端启动start.php
进入
socket目录,以daemon守护进程方式启动
温馨提示:守护进程的方式启动,在关闭终端后依旧有效。
php start.php start -d
启动报错解除相关函数禁用
如果启动出现报错情况,请解除相关函数的禁用:
pcntl_fork
pcntl_alarm
pcntl_signal_dispatch
pcntl_wait
pcntl_signal
如果还有提示XXXX disabled for unsecurity reason的
也请您自行解除禁用
开机自启动设置
不经常重启服务器的不建议设置,自己给自己找麻烦。启动了之后手动输入一下就行了。如果你头比较铁,可以研究下。
宝塔面板设置websocket自启动
针对宝塔面板,可以简单设置开机自启动
在程序的
socket目录下
新建
start_service.sh,里面内容为
php start.php start
然后在宝塔的软件商店,系统工具里安装
点击设置,添加启动项
选择
start_service.sh,打勾点击选择
脚本名称随便填写,我这里写的是smsot
然后重启之后,websocket就可以用了。
命令行设置websocket自启动
本方法如果设置不当有可能导致开机无法启动,请慎重考虑。
如果会命令行的当我没说。
使用命令行编辑
/etc/rc.localvim /etc/rc.local
然后按i进入输入模式,下面出现
--insert--标志代表可以输入
将下面代码复制到窗口
/www/server/php /www/wwwroot/smsot.iculture.cc/socket/start.php start
第一个是你的php安装路径,你如果不确定可以先运行这个命令,看看能不能成功。
第二个是你的魔缇
socket/start.php详细路径
最后是启动命令
复制成功,之后按
ECS退出输入模式。
然后输入
:wq,回车保存,然后重启服务器
如果你输错了,或者打开错文件了,可以输入:q!不保存退出
如果看完本教程还是不会弄得请联系我,免费帮配置