本帖最后由 御坂主机 于 2024-6-2 12:30 编辑
1. 简介
随着 .net 6 的发布,开发者可以更方便地将 .NET 应用程序部署到 linux 服务器上。本文将详细介绍如何将 .NET 6 应用程序部署到 CentOS Linux 7 上,包括安装 .NET 运行时、配置环境、发布和运行应用程序的全过程。希望通过这篇文章,读者能够掌握在 Linux 环境中部署 .NET 应用的基本步骤和注意事项。
1.1 环境准备
在开始之前,需要确保已经拥有一个 CentOS Linux 7 的服务器,并且具有 root 或具有 sudo 权限的用户。
2. 安装 .NET 6 运行时
首先,需要在 CentOS 7 上安装 .NET 6 运行时。可以通过微软提供的官方包管理器来进行安装。
2.1 添加微软的包管理器
要添加微软的包管理器,需要首先安装必要的依赖:
然后下载并安装微软的包管理器配置文件:
- wget https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
- sudo rpm -Uvh packages-microsoft-prod.rpm
复制代码
2.2 安装 .NET 运行时
添加包管理器配置文件后,可以使用 yum 安装 .NET 运行时:
- sudo yum install -y dotnet-runtime-6.0
复制代码
通过以下命令验证安装是否成功:
如果输出显示 .NET 运行时的版本号,则表示安装成功。
3. 发布 .NET 6 应用程序
在开发环境中,使用 Visual Studio 或命令行工具发布 .NET 6 应用程序。以下是通过命令行发布应用程序的步骤。
3.1 创建并发布应用程序
在开发环境中打开命令行,导航到 .NET 应用程序的根目录,然后运行以下命令:
- dotnet publish -c Release -o ./publish
复制代码
这将创建一个发布版本的应用程序,并将其输出到 ./publish 目录。
4. 部署应用程序到 CentOS 7
将发布好的应用程序文件复制到 CentOS 7 服务器上,可以使用 SCP 或其他文件传输工具。
4.1 使用 SCP 传输文件
在本地开发环境的命令行中运行以下命令,将文件传输到服务器:
- scp -r ./publish username@yourserver:/path/to/your/app
复制代码
将 username 替换为服务器的用户名,yourserver 替换为服务器的地址,/path/to/your/app 替换为服务器上存储应用程序的路径。
5. 运行 .NET 6 应用程序
在 CentOS 7 服务器上,导航到应用程序目录并运行应用程序。
5.1 运行应用程序
在服务器上运行以下命令启动应用程序:
替换 yourapp.dll 为实际的应用程序文件名。如果一切正常,应用程序将启动并在控制台中显示相关信息。
5.2 配置防火墙
为了使外部能够访问应用程序,需要配置防火墙以允许特定端口的访问。假设应用程序监听 5000 端口,可以使用以下命令开放该端口:
- sudo firewall-cmd --zone=public --add-port=5000/tcp --permanent
- sudo firewall-cmd --reload
复制代码
6. 使用 Systemd 管理 .NET 应用程序
为了在服务器重启后自动启动 .NET 应用程序,可以使用 Systemd 创建一个服务。
6.1 创建 Systemd 服务文件
在 /etc/systemd/system 目录下创建一个新的服务文件,例如 yourapp.service:
- sudo nano /etc/systemd/system/yourapp.service
复制代码
在文件中添加以下内容:
- [Unit]
- Description=Your .NET Application
- [Service]
- WorkingDirectory=/path/to/your/app
- ExecStart=/usr/bin/dotnet /path/to/your/app/yourapp.dll
- Restart=always
- RestartSec=10
- SyslogIdentifier=dotnet-yourapp
- User=yourusername
- Environment=ASPNETCORE_ENVIRONMENT=Production
- [Install]
- WantedBy=multi-user.target
复制代码
将 /path/to/your/app 替换为应用程序的实际路径,将 yourapp.dll 替换为实际的应用程序文件名,将 yourusername 替换为实际的用户名。
6.2 启用并启动服务
保存文件后,运行以下命令启用并启动服务:
- sudo systemctl enable yourapp.service
- sudo systemctl start yourapp.service
复制代码
可以使用以下命令查看服务状态:
- sudo systemctl status yourapp.service
复制代码
如果服务正在运行且没有错误,说明配置成功。
7. 总结
本文详细介绍了如何在 CentOS Linux 7 上部署 .NET 6 应用程序。通过安装 .NET 运行时、发布应用程序、传输文件、运行应用程序以及使用 Systemd 管理应用程序,读者可以掌握在 Linux 环境中部署和管理 .NET 应用的基本步骤。这些步骤不仅适用于单个应用程序的部署,还可以扩展到更复杂的部署场景中。希望这篇文章能对读者有所帮助,提升在 Linux 环境中部署 .NET 应用的能力。
------------------------------------------------------------------------------------------------------------------------------------------
======== 御 坂 主 机 ========
>> VPS主机 服务器 前沿资讯 行业发布 技术杂谈 <<
>> 推广/合作/找我玩 TG号 : @Misaka_Offical <<
-------------------------------------------------------------------------------------------------------------------------------------------
|