# 客服配置详解 想要使用客服需要就的必须开启长连接。长连接的配置过程稍微复杂,需要服务器放行端口,如果是宝塔就的需要在安全里面接着放行端口。如果是使用https协议访问,那就增加了一个WSS的配置,接下来会一一详细解,每一个配置过程。 ## 首先放行服务器端口 >[info] 提示:客服端口可自定义,目前系统默认使用 20002/20003/20012 端口 这里以阿里云服务器为参考,进入服务器安全组端口添加放行端口【20002】【20003】,当然也可以放行【20000/30000】范围之内的全部放行,最后点击保存即可。效果如下图 ![](https://img.kancloud.cn/64/54/6454179ece558a93b82e45e759beeb93_1934x516.png) ## 放行服务器端口后,紧接着放行宝塔内的端口 >[info] 没有使用宝塔的用户,并且开启了防火墙就的使用命令放行 进入宝塔后台,点击安全菜单添加放行端口,可以添加范围例如:20000:20003,填入放行说明,最后点击保存。效果如下图 ![](https://img.kancloud.cn/11/11/11117467b229f02aa9202876e5c5b436_1871x423.png) ## 网站需要https协议请求,需要配置WSS >[info] 这里需要明确知道一点,在http协议下访问长连接必须为ws协议,在https协议下访问长连接的协议必须是wss。并且两者不能同时拥有。不能像网站一样http和https都能访问。 首先配置wss,就的下载配置ssl的证书,这里以nginx为例,到阿里云ssl证书中心下载当前网站的ssl证书,下载下来的证书为压缩包,里面有两个文件一个文件以`.key`结尾的,一个文件以`.pem`为结尾的。把下载好的证书上传到系统后台的**设置->系统设置->wss配置**里。按照提示上传在对应的位置。 * 【是否开启wss】 选择 开启 * 【ssl证书PEM】上传压缩包中`.pem`结尾的文件 * 【ssl密钥KEY】上传压缩包中`.key`结尾的文件 * 点击提交保存配置 效果如下图 ![](https://img.kancloud.cn/e0/d4/e0d4fb3e159201481811d0bfbd40017b_1064x740.png) ## 直接在宝塔上申请的SSL证书,怎么得到证书文件? 进入【宝塔】点击【网站】,网站页面上方的搜索输入网站域名点击搜索,找到对应网站,点击设置->ssl->其他证书; ![](https://img.kancloud.cn/d8/7c/d87cb62befd8550a161e2fcc21ae8cac_783x718.png) 复制 **密钥(KEY)**然后在桌面上创建一个`.key`后缀的文件; 复制**证书(PEM格式)**然后在桌面上创建一个`.pem`后缀的文件; 然后就可以按照上一项的说明进行配置了 ## 启动长连接 >[info] 如何查看网站项目根目录? > 答:进入【宝塔】点击【网站】,网站页面上方的搜索输入网站域名点击搜索,找到对应网站复制网站【根目录】 > ![](https://img.kancloud.cn/14/22/1422ef7538aac3fe95e606ddd087edbc_1864x406.png) 使用远程连接工具连接服务器,推荐使用 Xshell 或 Putty 远程连接工具 >[warning] 在启动长连接之前请先去解禁启动长链接需要使用的函数 > >`pcntl_signal` `pcntl_signal_dispatch` `pcntl_fork` `pcntl_wait` `pcntl_alarm` > 温馨提示: 找到网站使用的php版本去解禁函数。解禁后重载下php配置。 切换到网站根目录下例如: ``` cd /www/wwwroot/crmeb/ ``` 输入启动长连接命令 ``` sudo -u www php think workerman start --d ``` 看到如下图所示,证明启动成功,下图中的端口和系统的默认端口是不一致不需要在意这些。上面也提到了长连接的端口是可修改的。 ![](https://img.kancloud.cn/64/c3/64c302ca356c53057b0b6cde25068350_902x274.png) ## 测试是否连接成功 在浏览器上打开网站进入H5端,打开浏览器控制台,点击network->ws ,现在进入【我的】页面中的客服页面,查看ws连接是否正常,【Status Code】状态为 `101 Switching Protocols` 证明启动成功,如下图所示: ![](https://img.kancloud.cn/54/d1/54d1c346b4d53e11ba1fa5cf97850715_834x449.png) ## 客服的长连接配置完毕 配置的过程稍微复杂,大致的流程为 1. 放行服务器上长连接需要的端口 2. 放行宝塔中长连接需要的端口 3. 是否需要https协议访问,如果是的话,就需要配置wss 4. 解禁php函数 5. 启动长连接 6. 检测是否成功 >以上说明为客服长连接配置的详细说明,这里这要以linux系统为核心讲解怎样开启。