作者:狐灵科技 | 2021-01-23 21:52 |点击:
安装教程是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:默认即可
然后我们要配置推送 否则消息不能实时更新
[进入项目xingekefu.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的域名下安装好客服系统,否则不能生成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配置如下
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
# 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