一、安装Linux宝塔面板
- 安装教程此处不做介绍,很简单,自行百度即可,下面附上官网地址
宝塔官网
二、安装.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
- 如果安装成功了,但是查看版本发现没有的话
微软官方解决方案
三、本地VS发布.NetCore WebApi项目
- 两种方式
- 使用的是VS
解决方案右键发布选择文件夹发布,选择发布设置,如下图
使用的是VS Code
// 终端输入命令,会在bin文件夹下面生成一个`publish`的文件夹 dotnet publish
四、宝塔面板发布.netCore项目,并启动项目
在文件 wwwroot
新建NetCore
文件夹,将本地发布文件打包拷贝至服务器解压
在服务器上终端命令进入部署文件所在目录,然后使用dotnet
命令启动服务:
//进入根目录
cd /www/wwwroot/NetCore/publish
//启动项目
dotnet xxx.dll
五、进程守护
- 宝塔软件商店安装
Supervisor
管理器
此处,后端部署完成
六、Vue项目打包
终端输入:yarn build
- 生成的
dist
文件夹就是打包好的了,把里面的东西直接丢到你宝塔的网站目录下就可以了
七、备注
- 用于正确操作以上方法但还是有问题的情况下
后端项目的
Program.cs
文件找到 webBuilder.UseStartup<Startup>();
替换为 webBuilder.UseUrls("http://*:5000").UseStartup<Startup>();
前端项目的
main.js
文件// 找到 axios请求的根路径 axios.defaults.baseURL = 'http://127.0.0.1:5000/'
// 替换 axios请求的根路径 axios.defaults.baseURL = 'http://网站域名:5000/'