概述:在使用 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 服务器
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
第 3 步:安装 Nginx
sudo apt update
sudo apt install nginx
systemctl status nginx
步骤四:配置Nginx
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;
}
}
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
步骤 5:将文件复制到服务器
scp -r bin/Release/netcoreapp3.1/linux-x64/publish/* user@server_ip:/path/to/destination
步骤 6:运行应用程序
管理 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 等工具进行容器化和更轻松的部署管理。
如果你喜欢我的文章,请给我一个赞!谢谢