ASP.NET Core应用程序在CentOS7上的生产环境部署指南

4 下载量 43 浏览量 更新于2024-08-28 收藏 803KB PDF 举报
部署 ASP.NET Core 应用程序到生产环境(CentOS7) 在本篇文章中,我们将详细介绍如何将 ASP.NET Core 应用程序部署到生产环境中,特别是使用 CentOS7 作为服务器操作系统。我们将从准备 ASP.NET Core 应用程序开始,安装 CentOS7、.NET Core SDK、Nginx 和 Supervisor,最后配置 Nginx 和 Supervisor,以确保 ASP.NET Core 应用程序能够正确地部署到生产环境中。 知识点1: 环境说明 在部署 ASP.NET Core 应用程序之前,我们需要了解服务器的环境信息。在这里,我们使用 CentOS7.2.1511 作为服务器操作系统,并使用 Xshell 和 Xftp 作为相关工具。服务器软件包括 .NET Core、Nginx、Supervisor 和 Policycoreutils-python。 知识点2: 准备 ASP.NET Core 应用程序 在部署 ASP.NET Core 应用程序之前,我们需要将其发布到生产环境中。我们可以使用 dotnet publish 命令将应用程序发布到生产环境中。在这里,我们使用便携的模式进行发布,而不是自宿主的方式。这是因为自宿主的方式可能会影响应用程序的性能。 知识点3: 安装 CentOS7 在安装 CentOS7 之前,我们需要了解 CentOS7 的安装过程。我们可以使用 Hyper-V 来虚拟化 CentOS7。 知识点4: 安装 .NET Core SDK for CentOS7 在安装 .NET Core SDK 之前,我们需要了解 .NET Core SDK 的安装过程。我们可以使用 yum install 命令安装 libunwind 和 libicu 依赖项,然后下载 .NET Core SDK 的压缩包并将其解压缩到/opt/dotnet 目录下。 知识点5: 部署 ASP.NET Core 应用程序 在部署 ASP.NET Core 应用程序之前,我们需要了解部署的过程。我们可以使用 dotnet 命令将应用程序部署到生产环境中。 知识点6: 配置 Nginx 在配置 Nginx 之前,我们需要了解 Nginx 的配置过程。我们可以使用 Nginx 的配置文件来配置 Nginx,以便 ASP.NET Core 应用程序能够正确地部署到生产环境中。 知识点7: 配置 Supervisor 在配置 Supervisor 之前,我们需要了解 Supervisor 的配置过程。我们可以使用 Supervisor 的配置文件来配置 Supervisor,以便 ASP.NET Core 应用程序能够正确地部署到生产环境中。 部署 ASP.NET Core 应用程序到生产环境中需要经过多个步骤,包括准备 ASP.NET Core 应用程序、安装 CentOS7、安装 .NET Core SDK、部署 ASP.NET Core 应用程序、配置 Nginx 和配置 Supervisor。只有经过这些步骤,我们才能确保 ASP.NET Core 应用程序能够正确地部署到生产环境中。
1767 浏览量
Centos7发布说明 环境说明: 服务器系统:CentOS 7.2.1511 相关工具:Xshel、Xftp 服务器软件软件:.netcore、nginx、supervisor 准备好发布的程序 安装.NET Core SDK for CentOS7 打开网址:https://www.microsoft.com/net/core#linuxcentos 复制如下命令,单步执行: sudo yum install libunwind libicu curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=835019 sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet sudo ln -s /opt/dotnet/dotnet /usr/local/bin 输入 dotnet –info 来查看是否安装成功 配置Nginx 下载安装Nginx,单步执行如下命令: curl -o nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm rpm -ivh nginx.rpm yum install nginx systemctl start nginx 来启动nginx systemctl enable nginx 来设置nginx的开机启动(linux宕机、重启会自动运行nginx不需要连上去输入命令)。 配置防火墙 命令:firewall-cmd --zone=public --add-port=80/tcp --permanent(开放80端口) 命令:systemctl restart firewalld(重启防火墙以使配置即时生效) 测试nginx是否可以访问。 配置nginx对ASP.NET Core应用的转发 修改 /etc/nginx/conf.d/default.conf 文件,将文件内容替换为: server { listen 80; 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; } }