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