客服配置
注意事项
shopro客服系统
采用workerman
的gateway-worker
作为服务基础,请先安装gateway-worker
扩展包shopro商城
已不再支持workerman 在线客服插件
安装部署
安装扩展包
composer require workerman/gateway-worker:~3.0
删除禁用函数(如有未列出的,请帮忙反馈,谢谢( ^∀^))
putenv
shell_exec
proc_open
pcntl_alarm
pcntl_fork
pcntl_wait
pcntl_signal
pcntl_signal_dispatch
linux 服务器
必要扩展
如果是宝塔,默认已经开启了这两个扩展
- pcntl
- posix
建议安装扩展(性能提升)
可以不装,如果想提升 workerman 性能的小伙伴,需要自行百度搜索 php 安装 event 扩展
- event
参数配置
注意事项
- 建议开启 ssl 连接
- 如果wss 连接方式选择 证书,ssl 证书要填写证书在服务器的绝对地址
- 如果一台服务器上同时部署多套商城,则
gateway 端口
,gateway 内部端口
,worker 服务端口
,都需要变更,gateway 内部端口
,和worker 服务端口
,建议在现有端口基础上+ 10
,给之后调进程数量留足够的空间,比如 2020 变为 2030
配置
部署 wss
- 注意反向代理和证书方式只需要配置一个即可
nginx 反向代理(如果nginx 建议使用)
目前只提供 nginx 的配置文档,按照这个配置可以不用放行客服端口[1819]
- 反向代理配置一定要在伪静态上面
- 反向代理配置一定要在伪静态上面
- 反向代理配置一定要在伪静态上面
反向代理配置,注意修改里面的端口为自己后台配置的客服端口
location ^~ /websocket {
proxy_redirect off;
proxy_pass http://127.0.0.1:1819; # 转发
proxy_set_header Host $host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr:$remote_port;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; # 升级协议头
proxy_set_header Connection upgrade;
}
配置完整示例,注意截图有限,反向代理下面是伪静态和图片跨域,之前配置好了的,都不需要动,只需要在最前面追加反向代理配置
ssl 证书配置方式
- 证书这里要直接使用 https 域名的证书,wss 证书,和 wss key 输入框这里直接填写证书的绝对地址
- 如果是宝塔证书地址在这里:宝塔-》网站-》设置-》配置文件 里面可以看到
- 注意如果是 linux 要确保客服进程启动用户有读取证书的权限,可以改证书和所在目录的权限,或者是将证书复制一份到项目目录,把证书设置成 www 用户所有
证书配置方法(推荐,以宝塔为例)
- 第一步,配置域名 https 证书,并且找到证书地址
- 第二步,去刚才的地址复制证书
- 第三步,将证书放入项目目录,并且给上权限
- 第四步,将放置的完整证书地址填入客服配置
启动服务
linux 服务器
注意事项
- linux 下启动客服命令要使用当前 php-fpm 启动用户作为启动用户,如果是宝塔,则是 www 用户
请先在调试模式下启动
调试模式下可以发现绝大部分问题,请一定现在调试模式下调通之后在守护方式启动,调试模式按 ctrl+c 停止,停止时候的报错可以忽略(因为ctrl+c使进程异常终止)
sudo -u www php think shopro:chat start
启动
调试模式启动
sudo -u www php think shopro:chat start
正式模式,守护进程方式启动
sudo -u www php think shopro:chat start d
停止
如果调试模式,直接 ctrl + c 即可
正式模式
sudo -u www php think shopro:chat stop
查看状态
正式模式
sudo -u www php think shopro:chat status
启动成功是这个样子的
注意 workerman 输出的停止命令是错的,不要使用
Workerman[shopro:chat] start in DAEMON mode
------------------------------------------------- WORKERMAN --------------------------------------------------
Workerman version:4.0.9 PHP version:7.2.31
-------------------------------------------------- WORKERS ---------------------------------------------------
proto user worker listen processes status
tcp root Register text://0.0.0.0:2238 1 [OK]
tcp root ShoproChatBusinessWorker none 4 [OK]
tcp root ShoproChatGateway websocket://0.0.0.0:1818 2 [OK]
--------------------------------------------------------------------------------------------------------------
Input "php shopro:chat stop" to stop. Start success.
windows 服务器
windows 不支持命令模式启动
启动服务请双击启动脚本
会打开一个命令窗口,并且停在那里
/addons/shopro/library/chat/start_for_win/shopro_chat_start_for_win.bat
关闭直接把命令窗口关掉即可