2026年01月21日/ 浏览 11
前段时间我发表了一系列文章,开始介绍基于 .net core 的在线客服系统开发过程。期间有一些朋友希望能够给出 Linux 环境的安装部署指导,本文基于 CentOS 7.9 来安装部署。
我详细列出了需要执行的命令的全过程,跟随本文可以在 30 分钟内完成部署。
升讯威在线客服与营销系统是基于 .net core / WPF 开发的一款在线客服软件,宗旨是: 开放、开源、共享。努力打造 .net 社区的一款优秀开源产品。
https://kf.shengxunwei.com/freesite.zip
发布日期: 2023-7-9
数据库版本: 20230402a
通信协议版本: 20220306
服务器版本: 1.11.10.0
客服程序版本: 1.11.2.0
更新程序版本: 1.2.0.0
资源站点版本: 1.6.2.0
Web管理后台版本: 2.0客服系统默认使用 9527 端口进行通信,如果开启了防火墙,请在防火墙中开放此端口。
也可以更改为其它可用端口号,在后续配置客服系统服务端程序时要做对应的修改。
请确保您所使用的主机服务商提供的防火墙服务中,也开放了对应端口。如阿里云服务器需要在安全组规则中配置。
请使用 MySQL 5.7 或更高版本
下载
wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm如果提示 command not found,则先执行 yum -y install wget 安装
安装
sudo yum install mysql80-community-release-el8-1.noarch.rpm -ysudo yum install mysql-community-server -y如果提示 command not found,则先执行 yum -y install sudo 安装
如果报 Error: Unable to find a match: mysql-community-server
则先执行 yum module disable mysql然后再执行 sudo yum install mysql-community-server -y启动
sudo systemctl start mysqld查看安装时生成的临时密码
sudo cat /var/log/mysqld.log |grep password使用临时密码连接 MySQL
mysql -uroot -p修改 root 密码
alter user root@localhost identified with mysql_native_password by 你的密码;安装 gcc
yum -y install gcc安装 pcre、pcre-devel
yum install -y pcre pcre-devel安装 zlib
yum install -y zlib zlib-devel安装 openssl
yum install -y openssl openssl-devel下载
wget http://nginx.org/download/nginx-1.20.1.tar.gz如果提示 command not found,则先执行 yum install wget 安装
解压缩
tar zxvf nginx-1.20.1.tar.gz进入目录
cd nginx-1.20.1安装和配置,依次执行
./configuremakemake install如果提示 command not found,则先执行 yum -y install gcc automake autoconf libtool make 安装
进入到 /lib/systemd/system/ 目录
cd /lib/systemd/system/创建 nginx.service 文件
vim nginx.service如果提示 command not found,则先执行 yum -y install vim 安装
输入以下内容后保存退出
注意其中的 nginx 安装路径[Unit] Description=nginx service After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s stop PrivateTmp=true [Install] WantedBy=multi-user.target内容说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3启动 nginx
systemctl start nginx.service加入开机自启动
systemctl enable nginx.service查看服务当前状态
systemctl status nginx.service配置安装源
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm安装
sudo dnf install dotnet-sdk-3.1如果提示 command not found,则先执行
yum -y install sudoyum -y install dnf
确认安装成功在命令行输入 dotnet 看到类似如下提示,表示安装成功。
安装该组件后访客端页面才可以输出图形验证码。
安装依赖
yum install libgdiplus-devel -y创建链接
ln -s /usr/lib64/libgdiplus.so /usr/lib/gdiplus.dllln -s /usr/lib64/libgdiplus.so /usr/lib64/gdiplus.dll注意:如果是先启动了服务器主程序(Server),再安装 libgdiplus。需要重新启动 Server 主程序以使 libgdiplus 生效。
数据库建表脚本位于私有化部署安装包中的 数据库建表脚本
目录。
在创建数据库表结构之前,将对应的数据库建表脚本上传到服务器工作目录。连接数据库引擎
mysql -uroot -p创建数据库
create database kf;切换到数据库
use kf创建数据库表结构
source CreateDatabase_MySql.sql将服务端程序上传之前,可先在本地电脑完成对配置文件的修改。
参阅:使用自动化工具配置服务器端程序
也可以选择先把服务端程序上传后,再通过 vim 手工对配置文件修改。
参阅:主程序配置文件修改维护说明
参阅:资源站点配置文件修改维护说明
参阅:Web 管理后台配置文件修改维护说明在服务器建立目录
cd /mkdir wwwroot上传服务器程序
将私有化部署包中的以下目录上传到新建的 wwwroot 目录:ManagementResourceServer将服务端程序上传之前,可先在本地电脑完成对配置文件的修改。
参阅:使用自动化工具配置服务器端程序
也可以选择先把服务端程序上传后,再通过 vim 手工对配置文件修改。
参阅:主程序配置文件修改维护说明
注意:服务端程序使用 5000 端口作为反向代理,请勿占用此端口。
编辑 nginx 配置文件
vim /usr/local/nginx/conf/nginx.conf在 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; } }示例文件:https://kf.shengxunwei.com/freesite/nginx.conf.txt
重新加载 nginx 配置文件
cd /usr/local/nginx/sbin./nginx -s reload进入
cd /lib/systemd/system/创建文件
vim kfServer.service输入以下内容后保存退出
注意 WorkingDirectory 为您的 Server 目录[Unit] Description=kfServer service After=network.target [Service] Type=simple GuessMainPID=true WorkingDirectory=/wwwroot/Server/ StandardOutput=journal StandardError=journal ExecStart=/usr/local/bin/dotnet Sheng.Linkup.Server.dll & Restart=always [Install] WantedBy=multi-user.target注意:在 CentOS 8 中,ExecStart 后无需要输入完整路径,如
ExecStart=dotnet Sheng.Linkup.Server.dll &注意
:通过终端工具复制粘贴文本可能会因为编码或换行符等问题导致服务无法启动。
如果遇到不明原因的服务无法启动问题,删除 kfServer.service 文件重建,手工编辑内容再试。启动服务器主程序
systemctl start kfServer.service设置开机启动
systemctl enable kfServer.service查看运行状态
systemctl status kfServer.service显示绿色的 active(running) 表示启动成功。如需重新启动服务器主程序,可使用命令 systemctl restart kfServer.service
。
在修改了主程序配置文件后,需要重新启动以生效。访问域名,进入 Status 查看状态
https://kf-api.yourname.com/Status注意:直接访问域名显示 404 是正常的,主程序没有默认页面,请留意上面的示例网址,进入 Status 命令
请确认已经完成了对服务器主程序配置文件的配置。
参阅:使用自动化工具配置服务器端程序命令
如:https://kf-api.yourname.com/Status/Setup将服务端程序上传之前,可先在本地电脑完成对配置文件的修改。
参阅:使用自动化工具配置服务器端程序
也可以选择先把服务端程序上传后,再通过 vim 手工对配置文件修改。
参阅:资源站点配置文件修改维护说明
编辑 nginx 配置文件
vim /usr/local/nginx/conf/nginx.conf在 Server 节点平级添加如下内容
注意 server_name处替换为你所使用的域名。
location 下的 root 后为 Resource 目录路径。server { listen 80; server_name kf-resource.yourname.com; location / { root /wwwroot/Resource; index v.html; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }示例文件:https://kf.shengxunwei.com/freesite/nginx.conf.txt
重新加载 nginx 配置文件
cd /usr/local/nginx/sbin./nginx -s reload将服务端程序上传之前,可先在本地电脑完成对配置文件的修改。
参阅:使用自动化工具配置服务器端程序
也可以选择先把服务端程序上传后,再通过 vim 手工对配置文件修改。
参阅:Web 管理后台配置文件修改维护说明
编辑 nginx 配置文件
vim /usr/local/nginx/conf/nginx.conf在 Server 节点平级添加如下内容
注意 server_name处替换为你所使用的域名。
location 下的 root 后为 Management 目录路径。server { listen 80; server_name kf-m.yourname.com; location / { root /wwwroot/Management; index index.html; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }示例文件:https://kf.shengxunwei.com/freesite/nginx.conf.txt
重新加载 nginx 配置文件
cd /usr/local/nginx/sbin./nginx -s reload在浏览器中访问你的 Web 管理后台域名,显示登录画面,使用 “配置服务器主程序” 完成时,初始化得到的默认登录账户密码登录即可。请点击参阅:配置发布客服端程序
压缩包中的“Shell”目录为客服端程序。
如果提示没有返回版本信息,是因为在配置服务器主程序后,没有初始化数据。请查阅 配置服务器主程序 的结尾部分。如果登录时提示“不允许对非连接的套接字执行此操作”,请检查服务器的防火配置,将客服系统使用的通信规则添加到入站规则,参阅:准备操作系统
填写默认密码“123”,点击“登录”进入系统。登录客服端以后,用浏览器打开你的资源站点域名下的聊天页面,如:
kf-resource.shengxunwei.com/WebChat/WebChat.html?sitecode=freesite
开始聊天。
将配置好的客服端程序 Shell 目录,压缩或打包分发给客服使用即可。