## 长连接服务
在h5聊天,后台管理员消息通知等功能使用到
> php 要求开启以下函数
>
> ~~~
> `pcntl_signal` `pcntl_signal_dispatch` pcntl_fork` `pcntl_wait` `pcntl_alarm`
>
> ~~~
### 命令参数介绍
* status: 状态
`php think workerman status channel`
* start: 启动
`php think workerman start chat`
* stop: 关闭
`php think workerman start chat`
* restart: 重启
`php think workerman restart chat`
* server: 服务 (windows)
`php think workerman serve chat`
* \--d : 后台执行
`php think workerman start chat --d`
### 启动服务命令
linux环境下,使用宝塔自带终端或者其他工具连接服务器比如:`Xshell`,切换到当前项目的跟目录,比如:`/web/wwwroot/你的项目目录/`,在执行如下命令:
~~~
php think workerman start --d
~~~
> 注意:往往登录服务器的用户是root用户这里在启动命令的时候记得一定要加上sudo - u www,不然会导致项目runtime/cache目录的权限改变,需注意
> 例如使用root用户登录,启动命令应如下:
~~~
sudo -u www php think workerman start --d
~~~
windows环境下,打开`cmd`命令提示框,切换到自己项目根目录:需要分别执行以下三个命令,打开不同服务:
~~~
# 内部通讯服务
php think workerman start channel
# h5端聊天服务
php think workerman start chat
# 后台管理员通知
php think workerman start admin
~~~
## 修改端口
首先在**config/workerman.php**文件中修改对应的端口
* **admin.port**为后台订单提醒服务端口,默认为20002
* **chat.port**为 h5聊天服务端口,默认为20003
* 修改后需要重启workerman才能生效
修改 h5中聊天服务端口
* 修改**utils/index.js**文件中 const VUE\_APP\_WS\_URL = process.env.VUE\_APP\_WS\_URL ||`ws://${location.hostname}:20003`; 配置项,修改20003端口
* 重新打包,可以参考[这里第三点](http://bbs.crmeb.net/forum.php?mod=viewthread&tid=1103&extra=page%3D1)
修改后台订单提醒服务端口
* 在**/src/setting.js**文件中修改6行
* 修改后需要重新打包