宝塔面板实用教程(1):10分钟部署在线客服系统
客服系统发布以来,一直有朋友询问如何在宝塔面板中安装部署,开始我一直认为参考 Linux 版的安装教程就可以了,一直没有专门写宝塔环境的教程。这段时间来咨询的朋友越来越多,经过了解,我才知道宝塔面板的普及率有多高,好吧,那我就认真对待一下这个问题,详细编写了基于宝塔安装部署升讯威在线客服系统的教程。
在编写这个教程之后,我也被宝塔拖入坑了,确实很方便!以前我们部署发布环境,都是在 Linux 上直接操作,对面板类的运维工具不是很感冒。这次详细的了解和操作之后,只能感慨技术发展的太快,面板工具已经和早年我们印象中的样子完全不同了,估计以后我自己再在 Linux 上部署新系统,也会先来一套宝塔再说。
在宝塔面板上部署整套客服系统,流程熟悉以后 , 10 分钟都不要。确实牛批。
开始
本文以 CentOS 7.9 为例进行说明,其它版本的 Linux 安装配置过程大同小异。
准备服务器和安装宝塔的过程本文不再赘述。
客服系统的私有化安装部署包可以在此下载 📩 :https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269/553293a8-dfa1-4282-bc3f-96c6c623fc9a
安装 LNMP 套件
登录宝塔面板后,勾选并安装以下组件:
- Nginx
- MySQL
- PHP
- phpMyAdmin
客服系统对以上组件的版本没有特殊要求,可自由选择安装较新版本。
详细操作过程本文不再赘述,有需要可参阅:https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269/37b59df0-30aa-4609-97b4-374b2bfc564f
安装 .Net Core
进入宝塔面板的“终端”画面。
安装 .Net Core
- 安装
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 sudo
yum -y install dnf
安装依赖库
进入宝塔面板的“终端”画面。
安装 libgdiplus
安装该组件后访客端页面才可以输出图形验证码。
-
安装依赖
yum install libgdiplus-devel -y
-
创建链接
ln -s /usr/lib64/libgdiplus.so /usr/lib/gdiplus.dll
ln -s /usr/lib64/libgdiplus.so /usr/lib64/gdiplus.dll
注意:如果是先启动了服务器主程序(Server),再安装 libgdiplus。需要重新启动 Server 主程序以使 libgdiplus 生效。
重新启动的方法是进入“软件商店”画面,进入 “Supervisor 管理器”,在主程序的“进程管理”列点击运行状态以使之重新启动。
放行客服程序端口
9527 是客服程序默认使用的 TCP/IP 通信端口,也可以在配置主程序时修改为其它端口号。
注意:私有化部署免费版固定使用 9527 端口,请勿修改。
进入宝塔面板的“安全”画面,在防火墙标题下的“放行端口”后输入“9527”,点击“执行”。
放行成功后,该端口显示在列表中。
创建数据库
进入宝塔面板的“数据库”画面后,点击“添加数据库”。
创建数据库完成后,点击右侧的“管理”。
使用创建数据库时设置的用户名和密码登录 phpMyAdmin。
选中左侧新建的数据库“kf”,将右侧标签页切换到“SQL”,然后将私有化部署安装包中提供的建表脚本复制到输入区,点击右侧的“执行”按钮。
提示成功后,完成数据库表结构创建。
配置和上传客服系统服务端程序
修改配置文件
将服务端程序上传之前,可先在本地电脑完成对配置文件的修改。
参阅:使用自动化工具配置服务器端程序 https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269/6bcdb41b-c963-46e9-aa42-e4ef4bf5f5f3
也可以选择先把服务端程序上传后,再通过宝塔的“文件”功能,手工对配置文件修改。
参阅:配置文件修改维护说明 https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269/ca613726-63f2-4c7d-934f-b8b104281407
上传服务器程序
在宝塔面板中进入“文件”功能,进入 /www/wwwroot 目录,将私有化部署包中的以下目录上传到该目录:
- Management
- Resource
- Server
如果要修改配置文件,找到要修改的配置文件,双击启动编辑即可。
配置服务器主程序
注意:服务端程序使用 5000 端口作为反向代理,请勿占用此端口。
安装 Supervisor 管理器并启动客服主程序
进入宝塔面板的“软件商店”画面,搜索“Supervisor”并安装。
安装成功后点击“Supervisor”右侧的“设置”。
在“Supervisor 管理器”中,添加守护进程:
- 运行目录选择
/www/wwwroot/Server
- 启动命令输入
dotnet Sheng.Linkup.Server.dll
- 进程数量
1
点击“确定”按钮添加。
添加成功后,进程管理列显示“已启动”,表示主程序启动成功。
如果启动失败,可先切换到宝塔面板的“终端”功能,进入
/www/wwwroot/Server
目录后,执行dotnet Sheng.Linkup.Server.dll
命令,观察提示的错误信息。
最常见的错误原因如数据库连接串配置错误,注意检查 Server 目录中的 AppSettings.json 文件,参阅:主程序配置文件修改维护说明
更多信息可参阅:检查单(部署遇到问题请对照检查)
添加和配置主程序站点
进入宝塔面板的“网站”画面,点击“添加网站”按钮,在弹出的添加对话框中,输入:
- 你的主程序域名,如 kf-api.yourname.com
- 根目录选择
/www/wwwroot/Server
- PHP 版本选择
纯静态
然后点击“提交”按钮。
添加成功后,点击右侧的“设置”,打开设置画面,然后切换到“配置文件”后,在开头部分添加以下内容:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream dotnet_server_proxy {
server localhost:5000;
keepalive 2000;
}
接着切换到“反向代理”画面,点击“添加反向代理”按钮:
- 目标 URL 输入
http://localhost:5000
然后点击“提交”按钮。
添加反向代理成功后,点击“配置文件”。
在反向代理的配置文件中,将以下内容添加到 location /
节点:
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
完成站点配置后,在站点列表中点击状态列中的“运行中”,重新启动站点以使配置全部生效。
初始化主程序
- 访问域名,进入 Status 查看状态
https://kf-api.yourname.com/Status
注意:直接访问域名显示 404 是正常的,主程序没有默认页面,请留意上面的示例网址,进入
Status
命令
请确认已经完成了对服务器主程序配置文件的配置。
参阅:配置和上传客服系统服务端程序
- 初始化数据
访问域名,进入Status/Setup
命令
如:https://kf-api.yourname.com/Status/Setup
配置静态资源站点
进入宝塔面板的“网站”画面,点击“添加网站”按钮,在弹出的添加对话框中,输入:
- 你的主程序域名,如 kf-resource.yourname.com
- 根目录选择
/www/wwwroot/Resource
- PHP 版本选择
纯静态
然后点击“提交”按钮。
添加成功后,点击右侧的“设置”,打开设置画面,然后切换到“默认文档”后,修改为 v.html
,然后点击“添加”按钮:
访问静态资源站点的域名,如 http://kf-resource.yourname.com ,显示出版本信息。
配置 Web 管理后台
请确认已经完成了对服务器主程序配置文件的配置。
参阅:配置和上传客服系统服务端程序
添加和配置配置 Web 管理后台站点
进入宝塔面板的“网站”画面,点击“添加网站”按钮,在弹出的添加对话框中,输入:
- 你的主程序域名,如 kf-m.yourname.com
- 根目录选择
/www/wwwroot/Management
- PHP 版本选择
纯静态
然后点击“提交”按钮。
访问 Web 管理后台站点的域名,如 http://kf-m.yourname.com ,显示登录画面。
配置发布客服端程序
请参阅:配置发布客服端程序https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269/5de7cef6-ac56-4916-b2cd-c1760cd9ae48