多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 1,需要在购买服务器的网站(阿里云)开启 9504 端口 ![](https://box.kancloud.cn/ea671b8e4af4ba5e8eb36e4dc7c9a488_1208x523.png)![](https://box.kancloud.cn/4330b0d76bf6e0d31aac12853902796d_1396x319.png)![](https://box.kancloud.cn/7d3e66ebb0dc6a36d0f7a33308ff7279_1312x602.png)![](https://box.kancloud.cn/559094c01e87aba5913fb7aad0c9727d_806x720.png) 点击确定添加。 ## 2,宝塔放行端口 ![](https://box.kancloud.cn/61145c5b17dea03a90f8a773c9805217_1392x298.png) ## 3,配置web服务器 ### 1)nginx ``` location /websocket { proxy_pass http://127.0.0.1:9504; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header X-Real-IP $remote_addr; } ``` 复制以上代码 到nginx配置中: ![](https://box.kancloud.cn/f34d55ab2dc0c62ff4bfe0455c694e5e_1329x569.png) ### 2)apache 启用 proxy\_wstunnel\_module 模块 : 在apache配置文件中打开以下模块: LoadModule proxy\_module modules/mod\_proxy.so LoadModule proxy\_wstunnel\_module modules/mod\_proxy\_wstunnel.so 在站点配置文件中,找到节点<VirtualHost *:443>,加入以下代码: ``` ProxyRequests Off ProxyPass /websocket ws://127.0.0.1:9504 ProxyPassReverse /websocket ws://127.0.0.1:9504 ``` ![](https://box.kancloud.cn/2b8783282312971d713da9e8b5444179_789x495.png) ## 4,确保PHP安装了redis扩展 ![](https://box.kancloud.cn/3d3e6d58b18d1e1b31580b3438b43c9a_1269x712.png) ## 5,确保PHP安装了Swoole扩展 注意:需要确定php版本 ## 6,进入宝塔 添加以下两个计划任务 ![](https://box.kancloud.cn/7cbcdf551c94d9fdf81286763b988b7c_1374x398.png) ### 1)第一个任务脚本:(每分钟执行一次) ``` #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH prots=`netstat -an | grep 9504 | wc -l` if test $prots -eq 0 then echo "`date +%Y-%m-%d%H-%M-%S` error..." #cd 后面换成自己的聊天文件路径 cd /www/wwwroot/longbingtest.xiaochengxucms.com/xinlingshou_caoshi/addons/longbing_cardcloud/core/application/common/controller kill -9 $(lsof -i tcp:9504 -t) pkill -f longbing_9504_im.php #php路径修改自己的 /www/server/php/71/bin/php longbing_9504_im.php else echo "`date +%Y-%m-%d%H-%M-%S` Listing..." fi echo "----------------------------------------------------------------------------" endDate=`date +"%Y-%m-%d %H:%M:%S"` echo "★[$endDate] Successful" echo "----------------------------------------------------------------------------" #以下路径path代表缓存路径,如果是微擎版本,路径是:根目录/data/tpl/web/longbing_cardcloud ; 如果是独立版本,路径是:根目录/runtime path=/www/wwwroot/longbingtest.xiaochengxucms.com/xinlingshou_caoshi/data/tpl/web/longbing_cardcloud q=$(ls -l ${path}|sed -n '2p' |awk -F " " '{print $3}') if [ "$q"x = "www"x ]; then echo 'ok' else chmod 755 ${path} -R chown www:www ${path} -R echo 'dir is not www' fi ``` ### 2)第二个任务脚本:(每小时执行一次) ``` #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH kill -TERM $(lsof -i tcp:9504 -t) pkill -f longbing_9504_im.php #cd 后面换成自己的聊天文件路径 cd /www/wwwroot/longbingtest.xiaochengxucms.com/xinlingshou_caoshi/addons/longbing_cardcloud/core/application/common/controller #php路径修改自己的 /www/server/php/71/bin/php longbing_9504_im.php echo "----------------------------------------------------------------------------" endDate=`date +"%Y-%m-%d %H:%M:%S"` echo "★[$endDate] Successful" echo "----------------------------------------------------------------------------" #以下路径path代表缓存路径 path=/www/wwwroot/longbingtest.xiaochengxucms.com/xinlingshou_caoshi/data/tpl/web/longbing_cardcloud if [ -d ${path} ] then chmod -R 755 ${path} chown -R www:www ${path} fi ``` **最后,两个任务创建之后 ,先点击执行 重启 ,再点击执行每分钟的,然后分别查看日志。 看是否有报错,没有报错即启动成功。**