教你部署自己的 在线客服 系列-Linux 篇 6:配置服务器主程序

137 阅读3分钟

最近陆续有许多小伙伴询问如何在自己的服务器上部署安装自己的在线客服系统,以达到 100% 私有化使用的目的。所以我决定把这个过程详细的整理出来,大家按步骤来即可。

我们使用的是升讯威在线客服与营销系统,这是我们最近一年多一直在用的产品,在网络稳定性和安全性上比较符合我们的使用诉求。私有化的安装包可以在他的官网免费下载:kf.shengxunwei.com

image.png


注意配置完成后,必须初始化数据,请留意文中的初始化方法。

修改配置文件

将服务端程序上传之前,可先在本地电脑完成对配置文件的修改。

参阅:使用自动化工具配置服务器端程序

也可以选择先把服务端程序上传后,再通过 vim 手工对配置文件修改。

参阅:主程序配置文件修改维护说明

配置 Nginx

注意:服务端程序使用 5000 端口作为反向代理,请勿占用此端口。

  1. 编辑 nginx 配置文件
    vim /usr/local/nginx/conf/nginx.conf

  2. 在 Server 节点 平级 添加如下内容
    注意 server_name 处替换为你所使用的域名。

    map $http_upgrade $connection_upgrade {
    default upgrade;
    ''   close;
    }
    upstream dotnet_server_proxy {
         server localhost:5000;                                                
         keepalive 2000;
    }
    server{
         listen 80;
         listen [::]:80;
    
         server_name kf-api.yourname.com;
    
         location / {
                     proxy_pass http://dotnet_server_proxy;
                     proxy_http_version 1.1;
                     proxy_set_header Upgrade $http_upgrade;
                     proxy_set_header Connection keep-alive; 
                     proxy_set_header Host $host;
                     proxy_cache_bypass $http_upgrade;
                     proxy_set_header X-Forwarded-For $remote_addr;
                     proxy_set_header Upgrade $http_upgrade;
                     proxy_set_header Connection $connection_upgrade;
         }
    }
    

    示例文件:kf.shengxunwei.com/freesite/ng…

  3. 重新加载 nginx 配置文件
    cd /usr/local/nginx/sbin
    ./nginx -s reload

配置主程序

  1. 进入
    cd /lib/systemd/system/

  2. 创建文件
    vim kfServer.service

  3. 输入以下内容后保存退出
    注意 WorkingDirectory 为您的 Server 目录

    [Unit]
    Description=kfServer service
    After=network.target
    [Service]
    Type=simple
    GuessMainPID=true
    WorkingDirectory=/wwwroot/Server/
    StandardOutput=journal
    StandardError=journal
    ExecStart=dotnet Sheng.Linkup.Server.dll &
    Restart=always
    [Install]
    WantedBy=multi-user.target
    

    注意:在 CentOS 7 中,ExecStart 后需要输入完整路径,如
    ExecStart=/usr/local/bin/donet Sheng.Linkup.Server.dll &

    注意:通过终端工具复制粘贴文本可能会因为编码或换行符等问题导致服务无法启动。
    如果遇到不明原因的服务无法启动问题,删除 kfServer.service 文件重建,手工编辑内容再试。

  4. 启动服务器主程序
    systemctl start kfServer.service

  5. 设置开机启动
    systemctl enable kfServer.service

  6. 查看运行状态
    systemctl status kfServer.service
    显示绿色的 active(running) 表示启动成功。

如需重新启动服务器主程序,可使用命令 systemctl restart kfServer.service
在修改了主程序配置文件后,需要重新启动以生效。

初始化主程序

  1. 访问域名,进入 Status 查看状态
    kf-api.yourname.com/Status

注意:直接访问域名显示 404 是正常的,主程序没有默认页面,请留意上面的示例网址,进入 Status 命令

请确认已经完成了对服务器主程序配置文件的配置。
参阅:使用自动化工具配置服务器端程序

  1. 初始化数据
    访问域名,进入 Status/Setup 命令
    如:kf-api.yourname.com/Status/Setu…


常见问题

启动时提示错误无法正常访问主程序。

在命令行进入 Server 目录,执行:dotnet Sheng.Linkup.Server.dll

通过输出,可以初步判断启动失败原因,如图所示为数据库连接串没有配置,请检查配置文件。

注意:主程序配置文件 appSettings.json 修改后,必须重新启动站点和应用程序池才会生效。

参阅:主程序配置文件修改维护说明