如何将ASP.NET Core应用程序成功部署到CentOS7生产环境?

2026-03-31 07:571阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1119个文字,预计阅读时间需要5分钟。

如何将ASP.NET Core应用程序成功部署到CentOS7生产环境?

将ASP.NET Core应用程序部署到生产环境(CentOS7):- 阅读目录- 环境说明- 准备ASP.NET Core应用- 安装CentOS7- 安装.NET Core SDK for CentOS7- 部署ASP.NET Core应用- 配置Nginx- 配置守护服务

将ASP.NET Core应用程序部署至生产环境中(CentOS7)

阅读目录

  • 环境说明
  • 准备你的ASP.NET Core应用程序
  • 安装CentOS7
  • 安装.NET Core SDK for CentOS7。
  • 部署ASP.NET Core应用程序
  • 配置Nginx
  • 配置守护服务(Supervisor)

这段时间在使用Rabbit RPC重构公司的一套系统(微信相关),而最近相关检验(逻辑测试、压力测试)已经完成,接近部署至线上生产环境从而捣鼓了ASP.NET Core应用程序在CentOS上的部署方案,今天就跟大家分享一下如何将ASP.NET Core应用程序以生产的标准部署在CentOS上。

环境说明

服务器系统:CentOS 7.2.1511

相关工具:Xshel、Xftp

服务器软件软件:.netcore、nginx、supervisor、policycoreutils-python

准备你的ASP.NET Core应用程序

首先将你的应用程序以便携的模式进行发布。

ps:这边我使用一个空的Web项目来进行演示,因为本篇主要介绍生产环境的部署,与应用无关。

命令为:

dotnet publish –c release

确保这份发布应用可以在windows上运行,以减少后续的问题。

为什么不用自宿主的方式进行部署?

自宿主的发布方式进行部署会简单很多,为什么生产环境要使用便携的方式进行发布呢?

原因1:性能比便携式的低(主)。

原因2:微软给出的建议(次)。

口说无凭,有图有真相。

参考地址:docs.microsoft.com/zh-cn/dotnet/articles/core/app-types

so,既然是用于生产环境的,当然我们要追求更高的性能。

安装CentOS7

这个就不细说了,网上教程很多,这边我使用了Hyper-V来虚拟化了CentOS7。

安装.NET Core SDK for CentOS7。

sudo yum install libunwind libicu

(安装libicu依赖)

curl -sSL -o dotnet.tar.gz go.microsoft.com/fwlink/?LinkID=809131(下载sdk压缩包) 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 来查看是否安装成功

如果可以执行则表明.NET Core SDK安装成功。

参考资料:www.microsoft.com/net/core#centos

部署ASP.NET Core应用程序

上传之前发布的文件夹至/home/wwwroot/。

这边我使用了Xftp进行文件的上传。

检查是否能够运行

命令:

dotnet /home/wwwroot/WebApplication1/WebApplication1.dll

如果出现这些信息则表示成功运行。

这时候我们是无法访问到这个页面的,这时候我们需要部署一个web容器来进行转发。

配置Nginx

安装Nginx

curl -o nginx.rpm nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

如何将ASP.NET Core应用程序成功部署到CentOS7生产环境?

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 localhost:5000; proxy_github.com/ET-CS) [Unit] Description=Supervisor daemon [Service] Type=forking ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf ExecStop=/usr/bin/supervisorctl shutdown ExecReload=/usr/bin/supervisorctl reload KillMode=process Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target

将文件拷贝至:“/usr/lib/systemd/system/supervisord.service”

执行命令:systemctl enable supervisord

执行命令:systemctl is-enabled supervisord #来验证是否为开机启动

测试

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

本文共计1119个文字,预计阅读时间需要5分钟。

如何将ASP.NET Core应用程序成功部署到CentOS7生产环境?

将ASP.NET Core应用程序部署到生产环境(CentOS7):- 阅读目录- 环境说明- 准备ASP.NET Core应用- 安装CentOS7- 安装.NET Core SDK for CentOS7- 部署ASP.NET Core应用- 配置Nginx- 配置守护服务

将ASP.NET Core应用程序部署至生产环境中(CentOS7)

阅读目录

  • 环境说明
  • 准备你的ASP.NET Core应用程序
  • 安装CentOS7
  • 安装.NET Core SDK for CentOS7。
  • 部署ASP.NET Core应用程序
  • 配置Nginx
  • 配置守护服务(Supervisor)

这段时间在使用Rabbit RPC重构公司的一套系统(微信相关),而最近相关检验(逻辑测试、压力测试)已经完成,接近部署至线上生产环境从而捣鼓了ASP.NET Core应用程序在CentOS上的部署方案,今天就跟大家分享一下如何将ASP.NET Core应用程序以生产的标准部署在CentOS上。

环境说明

服务器系统:CentOS 7.2.1511

相关工具:Xshel、Xftp

服务器软件软件:.netcore、nginx、supervisor、policycoreutils-python

准备你的ASP.NET Core应用程序

首先将你的应用程序以便携的模式进行发布。

ps:这边我使用一个空的Web项目来进行演示,因为本篇主要介绍生产环境的部署,与应用无关。

命令为:

dotnet publish –c release

确保这份发布应用可以在windows上运行,以减少后续的问题。

为什么不用自宿主的方式进行部署?

自宿主的发布方式进行部署会简单很多,为什么生产环境要使用便携的方式进行发布呢?

原因1:性能比便携式的低(主)。

原因2:微软给出的建议(次)。

口说无凭,有图有真相。

参考地址:docs.microsoft.com/zh-cn/dotnet/articles/core/app-types

so,既然是用于生产环境的,当然我们要追求更高的性能。

安装CentOS7

这个就不细说了,网上教程很多,这边我使用了Hyper-V来虚拟化了CentOS7。

安装.NET Core SDK for CentOS7。

sudo yum install libunwind libicu

(安装libicu依赖)

curl -sSL -o dotnet.tar.gz go.microsoft.com/fwlink/?LinkID=809131(下载sdk压缩包) 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 来查看是否安装成功

如果可以执行则表明.NET Core SDK安装成功。

参考资料:www.microsoft.com/net/core#centos

部署ASP.NET Core应用程序

上传之前发布的文件夹至/home/wwwroot/。

这边我使用了Xftp进行文件的上传。

检查是否能够运行

命令:

dotnet /home/wwwroot/WebApplication1/WebApplication1.dll

如果出现这些信息则表示成功运行。

这时候我们是无法访问到这个页面的,这时候我们需要部署一个web容器来进行转发。

配置Nginx

安装Nginx

curl -o nginx.rpm nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

如何将ASP.NET Core应用程序成功部署到CentOS7生产环境?

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 localhost:5000; proxy_github.com/ET-CS) [Unit] Description=Supervisor daemon [Service] Type=forking ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf ExecStop=/usr/bin/supervisorctl shutdown ExecReload=/usr/bin/supervisorctl reload KillMode=process Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target

将文件拷贝至:“/usr/lib/systemd/system/supervisord.service”

执行命令:systemctl enable supervisord

执行命令:systemctl is-enabled supervisord #来验证是否为开机启动

测试

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。