QShop商城-快速开始-Linux使用宝塔面板发布.Net6/7
安装宝塔面板
宝塔官方安装教程 宝塔面板
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
安装后将显示访问地址及账号密码,请妥善保存
浏览器进入后将弹出如下图,为方便直接一键安装LNMP.
安装.Net6
宝塔面板中没有集成.NetCore SDK,所以我们只能通过yum在终端手动安装。 各个不同Linux发行版的安装方法大同小异,在这个官方页面均有详细介绍,这里我用的是CentOS,所以使用yum安装.
使用阿里镜像:
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
根据官方的说法,在安装DotNetCore环境之前需要注册Microsoft Key以及Product Repository,并且还需要安装一些依赖,这一步每台机器只需要运行一次,具体命令如下
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
安装.Net6,命令如下
sudo yum install dotnet-sdk-6.0
测试是否安装成功:
dotnet --version // 直接看版本
本地VS发布.NetCore WebApi项目
解决方案右键发布选择文件夹发布,选择发布设置,如下图
宝塔面板发布.netCore项目,并启动项目
在文件 wwwroot新建NetCore文件夹,将本地发布文件打包拷贝至服务器解压. 在服务器上终端命令进入部署文件所在目录,然后使用dotnet命令启动服务:
cd /www/wwwroot/NetCore/publish //进入根目录
dotnet Qs.WebApi.dll //启动项目
Nginx设置反代访问
现在我们还不能直接访问到我们新部署的WebApi服务,需要使用Nginx设置反向代理,将特定的端口代理到http://localhost:5000,这一步可以通过宝塔面板来完成,步骤如下:
在宝塔面板上新建一个网站,设置为静态网站即可,如果当前宝塔面板已经有多个项目,注意设置好端口即可,这里我设置成了8005端口。
在刚才新建的网站中设置反向代理,目标URL填写http://localhost:5000即可,发送域名留空。
浏览器正式可访问项目,此处可能需要重启一下.
解决关闭Shell之后进程停止的问题
现在还有个问题,就是当我们关闭xShell等ssh工具的时候服务进程也会停止运行,我们可使用 Supervisor 守护进程运行。
在宝塔面板上安装Supervisor
添加守护进程
其他问题
生成验证码报错:The type initializer for 'System.DrawingCore.GDIPlus' threw an exception 运行安装如下代码即可
sudo yum install libgdiplus-devel