1. 安装 .NET SDK
首先,你需要在你的 Linux 系统上安装 .NET SDK。
Ubuntu系统:
-
下载 Microsoft 包配置文件
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
这个命令使用
wget
从 Microsoft 的官方包仓库下载一个配置文件,并将其保存为packages-microsoft-prod.deb
。这个文件包含了 Microsoft 包仓库的配置信息。 -
安装包配置文件
sudo dpkg -i packages-microsoft-prod.deb
这个命令使用
dpkg
(Debian Package Manager)来安装刚才下载的.deb
文件。这会将 Microsoft 包仓库添加到你的系统中,使你能够从该仓库安装软件包。 -
更新包列表
sudo apt-get update
这个命令更新本地的包列表,从而使系统知道所有可用的软件包及其版本信息。因为我们刚刚添加了一个新的包仓库,所以需要更新包列表。
-
安装 HTTPS 传输工具
sudo apt-get install -y apt-transport-https
这个命令安装
apt-transport-https
,它允许apt
使用 HTTPS 协议来下载软件包。虽然大多数现代系统已经预装了这个工具,但确保它已安装是一个好的做法。 -
再次更新包列表
sudo apt-get update
再次更新包列表,以确保新添加的 HTTPS 传输工具被正确识别并使用。
-
安装 .NET SDK
sudo apt-get install dotnet-sdk-6.0
sudo apt-get install -y dotnet-sdk-6.0
第二个命令的 -y
选项表示自动回答“是”以确认安装,不需要用户手动干预输入确认。
2. 发布 .NET MVC 项目
在你的开发环境中,使用 dotnet publish
命令来发布你的 .NET MVC 项目。
dotnet publish --configuration Release
发布后的文件通常会位于 bin/Release/net6.0/publish
目录下。
3. 将发布的文件复制到服务器
你可以使用 scp
或其他工具将发布的文件复制到你的 Linux 服务器上。
4. 运行 .NET 应用
在你的 Linux 服务器上,导航到你上传发布文件的目录,并运行应用。
dotnet YourProject.dll
启动成功之后会在终端输出日志信息:
为了确保应用在后台运行并在系统重启后自动启动,你可以使用 systemd
来管理它。
5. 使用 systemd 管理服务
创建一个新的 systemd
服务文件,例如 /etc/systemd/system/kestrel-yourapp.service
。
[Unit]
Description=Your .NET Application
[Service]
WorkingDirectory=/path/to/deploy
ExecStart=/usr/bin/dotnet /path/to/deploy/YourProject.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-yourapp
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
启动并启用服务
sudo systemctl enable kestrel-yourapp.service
sudo systemctl start kestrel-yourapp.service
6. 验证部署
打开浏览器,访问你的服务器 IP 地址和端口(默认情况下是 5000),验证你的 .NET MVC 应用是否成功运行。例如:http://localhost:5000。