概述:在使用 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 等工具进行容器化和更轻松的部署管理。
如果你喜欢我的文章,请给我一个赞!谢谢