安装教程是Linux服务器、centos7.6操作系统、宝塔环境(Nginx 1.18.0、Mysql5.7、PHP7.3),Window服务器需要防火墙放行443,788,2080,9090端口(相关教程请百度一下)
要求服务器环境:php版本>=5.6 mysql>=5.6 尽量使用php5.6到7.3的 不要太高
把源码上传到宝塔 先不要进行安装要设置一下其他的功能
宝塔防火墙配置
开启2080和9090端口
软件商店安装PHP 7.3(推荐使用 其他的版本未测试)
然后点击网站 设置 防跨站攻击取消勾选 网站运行目录选择public
然后伪静态选择 think PHP 如图所示
安装系统
访问网址http://你的域名/install.php进入安装程序:
数据库信息
Host:数据库服务器的IP,如果数据库和站点是同一服务器则可填写127.0.0.1或localhost;
Database name:您的数据库名称;
Username:对应数据库的用户名;
Password:数据库的密码;
超级管理员注册
Username:管理中心超级用户账号
Password:管理中心超级用户密码
服务器端口配置
App_key:推送服务的app_key(一般默认即可)
App_secret:推送服务的app_secret(一般默认即可)
App_id: 推送服务的app_id(一般默认即可)
websocket 地址:推送服务的websocket地址(自动获取,一般默认即可)
Api地址:推送服务器的api地址(自动获取,一般默认即可)
websocket 端口:推送服务的websocket端口(自定义,没有被占用的端口,注意:防火墙必须允许该端口)
Api端口:推送服务的api端口号(自定义,没有被占用的端口,注意:防火墙必须允许该端口)
registToken:默认即可
然后我们要配置推送 否则消息不能实时更新
开启推送服务
[进入项目ys720.com/ymwl_pusherr目录,打开终端]
执行 php start.php start -d
出现上图代表服务开启成功。
如果没有出现上图,一般是由于宝塔版本不同导致初始目录不同,需要先手动切换到\ymwl_pusher目录下。
Linux命令如下:
cd /www/wwwroot/你的实际项目目录/ymwl_pusher/
服务器安全组配置
如果您的服务器是阿里云或腾讯云的服务器,需要配置安全组,公网入方向和出方向都允许2080和9090端口
常见问题
移动端谷歌浏览器生成代码配置
在后台的接入方法生成的html中,例如以下代码:
<link rel='stylesheet' href='https://域名/assets/css/index/cgwl_online.css'> <div class="cgwl-form" id="cgwl-kefu" > <i class="cgwl-icon"></i> <form class="cgwl-item" action="https://域名/index/index/home?visiter_id=&visiter_name=&avatar=&business_id=1&groupid=0" method="post" target="_blank" > <input type="hidden" name="product" value=''> <input type="submit" value='在线咨询'> </form> </div>
代码中的
target="_blank"
在移动段谷歌浏览器出现无法滑动的情况,把_blank修改为top即可。
开启定时推送计划任务
每次重启服务器时推送服务都会失效,我们通过宝塔面板的计划任务来让他自动开启
任务名称:xx客服推送 (可自定义)
执行时间:根据您自动或手动重启服务器的频率定
执行代码:
cd /www/wwwroot/你的域名/ymwl_pusher php start.php start -d
也可以每次重启服务器后直接点下执行
配置https服务
非常重要:首先必须在不是https的域名下安装好客服系统,否则不能生成index.php,安装好之后可以先不执行开启消息推送进程的指令;
完了请参考下面的说明,只修改需要修改的地方,其它的不要动,其实就是
1、修改两个文件;
2、域名配置添加配置文件;
3、放行788端口 (不能被占用,防火墙与安全组添加详见服务器安全组配置);
4、开启消息推送进程;
请参考
/www/wwwroot/域名/public/index.php
// 定义pusher密匙 define('app_key','3331333731383036'); define('app_secret','6842a54e4aab6e22bf368e5b7291efdf'); define('app_id',232); define('whost','ws://yingkekefu.com'); 修改为改成wss:// define('ahost','http://yingkekefu.com'); define('wport',9090); 修改为改成443 define('aport',2080); define('registToken','2097598364');
/www/wwwroot/域名/ymwl_pusher/config.php
// websocket 端口,客服系统网页会连这个端口 $websocket_port = 9090; 修改为改成788
网站-》设置-》配置文件-》
NGINX配置如下
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; error_log off; access_log /dev/null; }
下面添加
location /app{ proxy_pass http://127.0.0.1:788; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header X-Real-IP $remote_addr; }
APACHE配置如下
- 确保Apache开启了以下模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
- Apache客服站点中添加以下配置 (注意:写在 ... 块中)
# Proxy Config SSLProxyEngine on ProxyRequests Off ProxyPass /app ws://127.0.0.1:788/app ProxyPassReverse /app ws://127.0.0.1:456/app
重启服务器重新执行两条指令
cd /www/wwwroot/域名/ymwl_pusher
php start.php start -d