宝塔面板一键部署包
【软件商店=>一键部署=>导入项目】
点击一键部署,输入域名后,全部默认即可完成
![image.png](https://i-blog.csdnimg.cn/blog_migrate/209b89c02fd76977e915734a98e7032d.png)
GOFLY是一款基于Golang+Vue开发的在线客服系统。一套可私有化部署的在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,致力于帮助广大开发者/中小站长快速整合私有客服功能。
网站在线客服系统附源码演示及下载地址:www.sopans.com
手动宝塔面板安装
提前安装宝塔面板,宝塔面板可以很方便的配置域名、反向代理、数据库,所以建议安装一下。安装nginx,mysql数据库(5.7或以上)
创建数据库
请记住设置的数据库名,用户名,密码
部署程序服务
上传压缩包文件到服务器,比如上传到/www/wwwroot/go-fly-pro,给此目录的所有文件赋权限777
编辑config/mysql.json,修改为创建数据库时设置的数据库名,用户名,密码
进入shell终端执行命令
切换目录到/www/wwwroot/kefu.xxxx.com
cd /www/wwwroot/kefu.xxxx.com
执行导入数据库命令,确保数据库配置信息正确,自动创建导入数据库相关表
./kefu install
执行开启服务命令,监听端口,开启服务,-d为守护进程模式
确保所有之前的旧进程已经关闭了,使用ps命令查看进程,没有关闭的kill掉旧进程。例如:ps aux|grep kefu
如果没有关闭旧进程,会导致访问还是跑到了旧进程,新服务不生效。例如:killall kefu
./kefu server -d
关闭服务,可以用ps -ef|grep kefu查看下进程是否存在,验证关闭成功
./sh stop.sh ,这里如果关闭不成功,可以多执行几次确保进程全部关闭
到宝塔安全页面将8081端口开放
如果是云服务器,则安全组也需要设置下让8081端口可以被外网访问。
此时可以访问外网地址: http://ip:8081/login
配置域名
到宝塔网站页面=>添加站点
设置反向代理,反代到客服程序监听的默认8081端口
编辑反向代理配置文件
完整的配置文件(注意端口号,其他应该都不需要改动)
#PROXY-START/
location /
{
try_files $uri @kefu;
} location @kefu { proxy_pass http://127.0.0.1:8081; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; add_header X-Cache $upstream_cache_status; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; #Set Nginx Cache add_header Cache-Control no-cache; } #PROXY-END/
配置HTTPS
需要先暂停反向代理,才能去开启
免费的SSL证书
源码编译
解压源码压缩包目录,里面有个install_go.sh的shell脚本,这是我写好的安装golang环境的脚本。
直接执行 sh install_go.sh
检查golang环境是否安装成功,执行 go version
编译可执行文件,执行 go build -o kefu ,这样就会在当前目录生成名为 kefu 的二进制可执行文件。剩下步骤和上面一致。
分布式方案
目前为了减少依赖当前项目不支持分布式,但是可以有其他实现方案
因为无依赖部署很方便,所以可以按域名进行分布,比如kf1.sopans.com kf2.sopans.com ,部署到不同的机器上,都使用一个MySQL数据库。前端跳转到客服的时候,通过访客ID进行下分配策略
按地域分布,比如cn.sopans.com部署到国内机器, hk.sopans.com部署在香港,na.sopans.com 部署到北美,根据访客集中地区进行前端分配。