在Ubuntu18.04上部署一个前后端分离的项目,前端框架采用的是react全家桶,后端则是.Net Core编写的接口平台。
进入正题之前,个人觉得有必要说明一点:应用的部署,首要工作是给其提供一个可运行环境(如SDK),其次是对其配置文件按需配置(.conf修改),最后一般是系统为了方便管理该应用的配置(如自启动)。同一应用的不同环境,需配置不同的部署参数,甚至不同的部署方法。比如日常环境通过容器服务部署,而正式环境通过脚本部署。
部署.Net Core应用 |
主要分为4个步骤:
- 安装.Net Core应用程序运行的环境基础;
- 运行.Net Core应用程序;
- 通过nginx配置反向代理,并将nginx设为开机自启动;
- 最后为了方便管理和操作,通过supervisor将占据终端窗口的.Net Core程序变为后台守护进程,再将supervisor设为开机自启动即可。
1.安装.Net Core SDK |
两种方法都可以,若一不行则用第二个。
方法一 |
以下命令组中有两个占位符。
- {dotnet-package}
此项表示要安装的 .NET Core 包,如 aspnetcore-runtime-2.1。 此项在以下 sudo apt-get install 命令中使用。 - {os-version}
此项表示你所使用的 Linux 版本,如ubuntu18.04则填写18.04即可。 此项在以下 wget 命令中使用。
sudo apt-get install -y gpg
wget -O - https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget https://packages.microsoft.com/config/ubuntu/{
os-version}/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y {
dotnet-package}
方法二 |
如果上述报网络连接等问题错误,用下面这段 ubuntu18.04 装dotnet-sdk-2.1
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget -q https://packages.microsoft.com/config/ubuntu/18.04/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-2.1
输入dotnet查看安装成功与否:
至此,表示.Net Core SDK安装成功。
2.发布应用 |
创建项目目录 |
选取服务器某一空文件夹作为网站应用的根目录。我选取的是:/home/wwwroot
mkdir -p /home/wwwroot