# IM客服
# 环境要求
# Windows
workerman从3.5.3版本开始已经能够同时支持linux系统和windows系统。
需要PHP>=5.3.3,并配置好PHP的环境变量。
Windows版本的Workerman不依赖任何扩展。
安装使用以及使用限制这里。
由于Workerman在Windows下有诸多使用限制,所以正式环境建议用Linux系统,windows系统仅建议用于开发环境。
====本页面以下只适用于Linux用户,Windows用户请忽略。 ====
# Linux用户(含Mac OS)
Linux用户只能使用Linux版本的Workerman。
安装PHP>=5.3.3,并安装了pcntl、posix扩展
建议安装event或者libevent扩展,但不是必须的(注意event扩展需要PHP>=5.4)
# Linux环境检查脚本
- Linux用户可以运行以下脚本检查本地环境是否满足WorkerMan要求
curl -Ss http://www.workerman.net/check.php | php
- 如果脚本中全部提示ok,则代表满足WorkerMan运行环境
(注意:检测脚本中没有检测event扩展或者libevent扩展,如果并发连接数大于1024建议安装event扩展或者libevent扩展,安装方法参见下一节)
# 已有PHP环境安装缺失扩展
- 如果您的检测没有通过,请查看workeman官方安装说明:http://doc.workerman.net/install/install.html
# 注意事项
- 在运行客服前需要注意您的服务器端是否开启,阿里云、腾讯云需要自己添加安全规则的。
- 如果需要在小程序上运行客服,需要配置ssl 和 wss
找到uniapp/config.js 将 web_socket_url 字段ws更改成wss
找到后端程序根目录下.env文件,修改
修改config/gateway_worker.php
'port' => 443, // 修改端口为443
'ssl' => true, // 开启ssl
// 配置证书
'context' => [
'ssl' => [
'local_cert' => '/www/server/panel/vhost/cert/d.a3-mall.com/fullchain.pem', // 也可以是crt文件
'local_pk' => '/www/server/panel/vhost/cert/d.a3-mall.com/privkey.pem',
'verify_peer' => false,
],
],
- nginx配置(以宝塔为例)
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
# 这里的backend可以改成自己需要的名称,我自己用的是wss。
upstream wss {
# 这里的localhost是映射本地服务器,也可以是外网ip,2345是我ws开启的端口。
server wx.a3-mall.com:2348;
}
# 注意:这里的/wss后面没有/了哦
location /wss {
proxy_pass http://wss;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
# 运行客服
在终端或者cmd运行:
php think websocket [ status ] [ -d ]
php think websocket start|stop|restart -d (daemon(守护进程)方式启动)
守护进程方式启动:
php think websocket -d