JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Linux 上部署 .NET 7 应用程序 .net在linux

wys521 2024-10-17 15:35:50 精选教程 22 ℃ 0 评论

在 Linux 上部署 .NET 7 应用程序可以通过多种方式进行,如使用 Kestrel、Nginx、Apache 或 Docker。以下是一个通过 Kestrel 和 Nginx 部署 .NET 7 应用程序的详细步骤:

1. 安装 .NET SDK 和 Runtime

首先,需要在服务器上安装 .NET 7 SDK 和 Runtime。你可以使用以下命令来安装:

bash

复制代码

wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo apt-get update sudo apt-get install -y dotnet-sdk-7.0 sudo apt-get install -y aspnetcore-runtime-7.0

2. 发布 .NET 7 应用程序

在开发机器上使用 dotnet publish 命令生成应用程序的发布包:

bash

复制代码

dotnet publish -c Release -o /path/to/publish

3. 传输发布文件

将发布生成的文件传输到 Linux 服务器上的指定目录。例如,可以使用 scp 命令:

bash

复制代码

scp -r /path/to/publish user@yourserver:/path/to/deployment

4. 创建 systemd 服务文件

在 Linux 服务器上,为你的应用程序创建一个 systemd 服务文件以便管理应用程序的生命周期。创建一个新的服务文件 /etc/systemd/system/myapp.service,并添加以下内容:

ini

复制代码

[Unit] Description=My .NET 7 App After=network.target [Service] WorkingDirectory=/path/to/deployment ExecStart=/usr/bin/dotnet /path/to/deployment/myapp.dll Restart=always # Restart service after 10 seconds if the dotnet service crashes: RestartSec=10 KillSignal=SIGINT SyslogIdentifier=dotnet-myapp User=www-data Environment=ASPNETCORE_ENVIRONMENT=Production [Install] WantedBy=multi-user.target

5. 启动并启用服务

加载 systemd 配置并启动服务:

bash

复制代码

sudo systemctl daemon-reload sudo systemctl start myapp sudo systemctl enable myapp

6. 安装并配置 Nginx

安装 Nginx:

bash

复制代码

sudo apt-get install nginx

配置 Nginx 以反向代理到 Kestrel。编辑 Nginx 配置文件,例如 /etc/nginx/sites-available/default:

nginx

复制代码

server { listen 80; server_name yourdomain.com; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }

测试 Nginx 配置并重启服务:

bash

复制代码

sudo nginx -t sudo systemctl restart nginx

7. 设置防火墙

确保防火墙允许 HTTP 和 HTTPS 流量:

bash

复制代码

sudo ufw allow 'Nginx Full'

8. 检查应用程序

此时,你的 .NET 7 应用程序应该已经在 Linux 服务器上运行,并通过 Nginx 进行反向代理。你可以通过访问服务器的域名或 IP 地址来测试应用程序。

总结

以上步骤涵盖了在 Linux 上部署 .NET 7 应用程序的基本流程。你可以根据需要调整和扩展这些步骤,例如配置 HTTPS、使用 Docker 部署等。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表