使用 NGINX 在 Linux 上部署 ASP.NET Core 应用程序

本文详细介绍了如何在Linux服务器上使用NGINX作为反向代理部署ASP.NETCore应用程序,包括安装.NETCore运行时、构建和发布应用、配置Nginx以及运行和管理应用程序的过程。
摘要由CSDN通过智能技术生成

21de16c1e427b9bcc786de0acba32399.jpeg

概述:在使用 NGINX 作为反向代理的 Linux 服务器上部署 ASP.NET Core 应用程序是托管使用 ASP.NET Core 框架构建的 Web 应用程序的常用方法。ASP.NET Core 是一个跨平台框架,允许开发人员在各种操作系统(包括 Windows、macOS 和 Linux)上构建和运行应用程序。另一方面,NGINX 是一种高性能的 Web 服务器和反向代理,以其效率和可靠性而闻名。使用 NGINX 在 Linux 上部署 ASP.NET Core使用 Nginx 在 Linux 上部署 ASP.NET Core 应用程序涉及几个步骤。下面是该过程的高级概述:步骤 1:准备

在使用 NGINX 作为反向代理的 Linux 服务器上部署 ASP.NET Core 应用程序是托管使用 ASP.NET Core 框架构建的 Web 应用程序的常用方法。ASP.NET Core 是一个跨平台框架,允许开发人员在各种操作系统(包括 Windows、macOS 和 Linux)上构建和运行应用程序。另一方面,NGINX 是一种高性能的 Web 服务器和反向代理,以其效率和可靠性而闻名。

使用 NGINX 在 Linux 上部署 ASP.NET Core

使用 Nginx 在 Linux 上部署 ASP.NET Core 应用程序涉及几个步骤。下面是该过程的高级概述:

步骤 1:准备 Linux 服务器

  • 使用您喜欢的发行版(例如 Ubuntu 20.04 LTS)设置 Linux 服务器。

  • 在服务器上安装 .NET Core 运行时。

  • 在服务器上安装 Nginx。

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb   
sudo dpkg -i packages-microsoft-prod.deb  
  
sudo apt update   
sudo apt install apt-transport-https   
sudo apt install dotnet-sdk-6.0

sudo apt-get update && \  
sudo apt-get install -y aspnetcore-runtime-7.0

步骤 2:构建 ASP.NET 核心应用程序

  • 在本地计算机上打开终端或命令提示符。

  • 导航到 ASP.NET Core 项目的根目录。

  • 执行以下命令,发布应用。

dotnet publish -c Release -r linux-x64 --self-contained true
  • 这将在文件夹中创建应用程序的独立版本(替换为目标框架版本)。bin/Release/netcoreapp3.1/linux-x64/publishnetcoreapp3.1

第 3 步:安装 Nginx

  • 使用发行版的包管理器在 Linux 服务器上安装 Nginx(例如,对于 Ubuntu)。apt-get install nginx

sudo apt update  
sudo apt install nginx  
systemctl status nginx

步骤四:配置Nginx

  • 在目录中为您的 ASP.NET Core 应用程序创建一个 Nginx 配置文件。例如,创建一个包含以下内容的文件:/etc/nginx/sites-availablemyapp

server {  
    listen 80;  
    server_name mydomain.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;  
    }  
}
  • 替换为您的实际域或服务器 IP 地址。mydomain.com

  • 创建一个符号链接以启用站点配置:

sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/

步骤 5:将文件复制到服务器

  • 使用 SCP 或其他文件传输方法将已发布的文件从本地计算机上的文件夹复制到 Linux 服务器:publish

scp -r bin/Release/netcoreapp3.1/linux-x64/publish/* user@server_ip:/path/to/destination
  • 将 、 和 替换为适当的值。userserver_ip/path/to/destination

步骤 6:运行应用程序

  • 通过 SSH 连接到 Linux 服务器。

  • 导航到复制已发布文件的文件夹。

  • 使用以下命令运行 ASP.NET Core 应用程序:dotnet

  • 复制代码

  • dotnet YourAppName.dll

  • 替换为应用程序的 DLL 的实际名称。YourAppName.dll

管理 Nginx 进程

sudo systemctl stop nginx  
sudo systemctl start nginx  
sudo systemctl restart nginx  
sudo systemctl reload nginx  
sudo systemctl disable nginx  
sudo systemctl enable nginx

现在,您的 ASP.NET Core 应用程序应该在 Linux 上启动并运行,Nginx 将充当反向代理,将传入的 HTTP 请求转发到应用程序。您可以通过在 Web 浏览器中导航到服务器的域或 IP 地址来访问您的应用程序。

请注意,上述步骤是一般指南,您的具体设置可能会根据您的应用程序要求和服务器配置而有所不同。此外,还可以考虑使用 Docker 等工具进行容器化和更轻松的部署管理。

如果你喜欢我的文章,请给我一个赞!谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值