服务部署:Linux系统部署C# .NET项目

作者 : admin 本文共1719个字,预计阅读时间需要5分钟 发布时间: 2024-06-16 共1人阅读

1. 安装 .NET SDK

首先,你需要在你的 Linux 系统上安装 .NET SDK。

Ubuntu系统:
  1. 下载 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 包仓库的配置信息。

  2. 安装包配置文件

    sudo dpkg -i packages-microsoft-prod.deb

    这个命令使用 dpkg(Debian Package Manager)来安装刚才下载的 .deb 文件。这会将 Microsoft 包仓库添加到你的系统中,使你能够从该仓库安装软件包。

  3. 更新包列表

    sudo apt-get update

    这个命令更新本地的包列表,从而使系统知道所有可用的软件包及其版本信息。因为我们刚刚添加了一个新的包仓库,所以需要更新包列表。

  4. 安装 HTTPS 传输工具

    sudo apt-get install -y apt-transport-https

    这个命令安装 apt-transport-https,它允许 apt 使用 HTTPS 协议来下载软件包。虽然大多数现代系统已经预装了这个工具,但确保它已安装是一个好的做法。

  5. 再次更新包列表

    sudo apt-get update

    再次更新包列表,以确保新添加的 HTTPS 传输工具被正确识别并使用。

  6. 安装 .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

启动成功之后会在终端输出日志信息:

服务部署:Linux系统部署C# .NET项目插图

为了确保应用在后台运行并在系统重启后自动启动,你可以使用 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。

本站无任何商业行为
个人在线分享 » 服务部署:Linux系统部署C# .NET项目
E-->