[GOFLY] 宝塔安装部署在线客服系统教程-在线客服系统-客服系统源码-GOFLY在线客服

2022-02-23 17:01:03 浏览数 (1)

安装

官网授权得到压缩包后,参考以下步骤进行安装。官网地址 https://gofly.sopans.com

环境要求

推荐使用Linux服务器(ubuntu)

代码语言:javascript复制
硬件
    基础阶段:1核 1G内存 1M带宽 50G硬盘(最低配置即可)
    中级阶段:4核 8G内存 5M带宽 50G硬盘(有一定访问量)
    高级阶段:8核 16G内存 10M带宽 50G硬盘(访问量比较大)
软件
    Mysql >= 5.6 (需支持innodb引擎)
    Nginx
宝塔面板

提前安装宝塔面板,宝塔面板可以很方便的配置域名、反向代理、数据库,所以建议安装一下。安装nginx,mysql数据库(5.6)。

创建数据库

请记住设置的数据库名,用户名,密码

部署服务

上传压缩包文件到服务器,比如上传到/www/wwwroot/go-fly-pro,给此目录的所有文件赋权限777

编辑config/mysql.json,修改为创建数据库时设置的数据库名,用户名,密码

进入终端,切换目录到/www/wwwroot/go-fly-pro

cd /www/wwwroot/go-fly-pro

执行导入数据库命令,确保数据库配置信息正确,自动创建导入数据库相关表

./go-fly-pro install

执行开启服务命令,监听端口,开启服务,-d为守护进程模式

./go-fly-pro server -d

到宝塔安全页面将8081端口开

如果是云服务器,则安全组也需要设置下让8081端口可以被外网访问。

访问外网地址: http://ip:8081/login

配置域名

到宝塔网站页面=>添加站点

设置反向代理,反代到客服程序监听的默认8081端口

增加支持websocket的反向代理参数

代码语言:javascript复制
            proxy_set_header Upgrade $http_upgrade;

            proxy_set_header Connection "upgrade";

增加nginx直接响应静态资源

代码语言:javascript复制
            location /static {
              root /www/wwwroot/go-fly-pro;//注意这里的路径
            }

完整的配置文件

代码语言:javascript复制
#PROXY-START/
location  ~* .(gif|png|jpg|css|js|woff|woff2)$
{
    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;
    expires 12h;
}
location /
{
    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;
}
location /static{
    root /www/wwwroot/go-fly-pro;
}

#PROXY-END/
配置HTTPS

需要先暂停反向代理,才能去开启

非宝塔部署

ubuntu系统安装nginx

代码语言:javascript复制
apt-get install curl gnupg2 ca-certificates lsb-release
echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | tee /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | apt-key add -
apt-key fingerprint ABF5BD827BD9BF62
apt-get update
apt-get install nginx

centos系统安装nginx

vim 编辑 /etc/yum.repos.d/nginx.repo

代码语言:javascript复制
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
代码语言:javascript复制
yum install  nginx

配置nginx反向代理

代码语言:javascript复制
location /static { } 这里配置的是,访问静态资源的时候,直接nginx返回静态资源,就不用走到go后端服务了
proxy_pass http://127.0.0.1:8081; 这里就是重点了,反向代理到后端8081端口
下面这几句是传递真实IP到后端服务
proxy_set_header X-Real-IP $remote_addr;
升级连接成为websocket连接 , 支持websocket
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

完整的nginx配置文件

代码语言:javascript复制
server{
       listen 80;
        server_name  gofly.sopans.com;
        access_log  /var/log/nginx/gofly.sopans.com.access.log  main;
        location /static {
                root /var/www/html/go-fly-pro;//自己的部署路径,静态文件直接nginx响应
        }
        location / {
                proxy_pass http://127.0.0.1:8081;
                    proxy_http_version 1.1;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header Upgrade $http_upgrade;
                    proxy_set_header Connection "upgrade";
        }
}
分布式方案

目前为了减少依赖当前项目不支持分布式,但是可以有其他实现方案

因为无依赖部署很方便,所以可以按域名进行分布,比如kf1.sopans.com kf2.sopans.com ,部署到不同的机器上,都使用一个MySQL数据库。前端跳转到客服的时候,通过访客ID进行下分配策略

按地域分布,比如cn.sopans.com部署到国内机器, hk.sopans.com部署在香港,na.sopans.com 部署到北美,根据访客集中地区进行前端分配。

0 人点赞