asp.net core 2.1 部署 centos7

asp.net core 2.1 部署 centos7

Kestrel 非常适合从 ASP.NET Core 提供动态内容。 但是,Web 服务功能不像服务器(如 IIS、Apache 或 Nginx)那样功能丰富。 反向代理服务器可以从 HTTP 服务器卸载服务静态内容、缓存请求、压缩请求和 SSL 终端等工作。 反向代理服务器可能驻留在专用计算机上,也可能与 HTTP 服务器一起部署。
鉴于此指南的目的,使用 Nginx 的单个实例。 它与 HTTP 服务器一起运行在同一服务器上。

  • 参考文档
  1. 官方文档
  • 64位安装SDK所需依赖
  1. yum update
  2. yum -y install libunwind
  3. yum -y install libicu
  • 注册微软产品密钥
  1. 执行 sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
  • 安装SDK/runtime
  1. yum -y install dotnet-sdk-2.1 或 yum -y install aspnetcore-runtime-2.1
  • 检测安装
  1. 执行 dotnet --info,验证安装结果,如下:

    .NET Core SDK (reflecting any global.json):

    Version: 2.1.401

    Commit: 91b1c13032

    Runtime Environment:

    OS Name: centos

    OS Version: 7

    OS Platform: Linux

    RID: centos.7-x64

    Base Path: /usr/share/dotnet/sdk/2.1.401/

    ...

  • 创建并允许实例
  1. 创建MVC应用程序 X:\mvcApp2 dotnet new mvc
  2. 本地运行(win10) dotnet run
  3. 浏览器访问
  4. 发布linux程序 dotnet publish -c Release -o "XX:\Web_IIS\mvcApp2" -r centos.7-x64
    .net core运行时标识符

  5. xftp上传文件到指定目录 /home/doetnetcore/mvcApp2
  6. 运行程序 cd /home/dotnetcore/mvcApp2 dotnet mvcApp2.dll 如图:默认启用5000端口
  7. centos7 外部计算机若无法访问,请检查网络防火墙(即使关闭防火墙端口默认只开放22)
  8. 检查站点运行情况 curl http://localhost:5000

    curl命令介绍

  9. 查看防火墙状态 firewall-cmd --state //running 表示运行

    附防火墙相关命令

    启动: systemctl start firewalld

    查看状态:systemctl status firewalld

    停止:systemctl disable firewalld

    禁用:systemctl stop firewalld

    启动服务:systemctl start firewalld.service

    关闭服务:systemctl stop firewalld.service

    重启服务:systemctl restart firewalld.service

    服务的状态:systemctl status firewalld.service

    在开机时启用一个服务:systemctl enable firewalld.service

    在开机时禁用一个服务:systemctl disable firewalld.service

    查看服务是否开机启动:systemctl is-enabled firewalld.service

    查看已启动的服务列表:systemctl list-unit-files|grep enabled

    查看启动失败的服务列表:systemctl --failed

    查看版本: firewall-cmd --version

    查看帮助: firewall-cmd --help

    显示状态: firewall-cmd --state

    查看所有打开的端口: firewall-cmd --zone=public --list-ports

    更新防火墙规则: firewall-cmd --reload

    查看区域信息: firewall-cmd --get-active-zones

    查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0

    拒绝所有包:firewall-cmd --panic-on

    取消拒绝状态: firewall-cmd --panic-off

    查看是否拒绝: firewall-cmd --query-panic

  • 配置Nginx转发
  1. 安装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

  2. 检查端口占用情况 yum install net-tools netstat -a //端口列表
  3. 启动 nginx

    命令:systemctl start nginx

    设置开机启动 systemctl enable nginx

    firewall-cmd --zone=public --add-port=80/tcp --permanent(永久启用80端口)

    重启防火墙 systemctl restart firewalld

    浏览器测试nginx能否正常访问

  4. 修改nginx配置文件

    yum -y install vim 可用默认vi替代

    修改 /etc/nginx/conf.d/default.conf 文件。

    通过 vim /etc/nginx/conf.d/default.conf 打开,编辑里面的内容,保存时按 Esc 再输入 :wq! 命令保存退出

    修改为如下脚本:

 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;
    }
  }
  1. 启动站点 浏览器正常访问asp.netcore 应用程序
  2. Nginx参考文献

    http://nginx.org/en/docs/

    http://tengine.taobao.org/book/index.html

其他参考文档:https://yq.aliyun.com/articles/584510

  • 配置守护服务(Supervisor)
  • 配置Apache转发
  1. 参考文档

原文地址:https://www.cnblogs.com/lenovo_tiger_love/p/9610140.html

时间: 2024-07-29 06:52:38

asp.net core 2.1 部署 centos7的相关文章

将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应用程序以生产

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

原文链接: http://www.cnblogs.com/ants/p/5732337.html 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Core SDK for CentOS7. 部署ASP.NET Core应用程序 配置Nginx 配置守护服务(Supervisor) 这段时间在使用Rabbit RPC重构公司的一套系统(微信相关),而最近相关检验(逻辑测试.压力测试)已经完成,接近部署至线上生产环境从而捣鼓了ASP.NET Core应

将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应用程序以生产

ASP.NET Core 1.0 部署 HTTPS

ASP.NET Core 1.0 部署 HTTPS ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1) 提示 更新时间:2016年01月23日. 在目前介绍 ASP.NET Core 1.0 的中英文文章中,我没有找到关于部署HTTPS的, 究其原因,除了暂时无法跨平台外,就算是很少人有这个需求,但我还是决定写一下. 警告 目前( 1.0.0-rc1-update1 )仅支持完整版的dnx451,dnxcore5需要rc2的支持.目前只能运行在Win

ASP.NET Core 1.0 部署 HTTPS (.NET Core 1.0)

这两个月要做一个项目,正逢ASP.Net Core 1.0版本的正式发布.由于现代互联网的安全要求,HTTPS加密通讯已成主流,所以就有了这个方案. 本方案启发于一个旧版的解决方案: ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1) http://www.cnblogs.com/qin-nz/p/aspnetcore-using-https-on-dnx451.html?utm_source=tuicool&utm_medium=referral

ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1)

ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1)? 警告 您当前查看的页面是未经授权的转载! 如果当前版本排版错误,请前往查看最新版本:http://www.cnblogs.com/qin-nz/p/aspnetcore-using-https-on-dnx451.html 提示 更新时间:2016年01月23日. 在目前介绍 ASP.NET Core 1.0 的中英文文章中,我没有找到关于部署HTTPS的, 究其原因,除了暂时无法跨平台外,就算是

ASP.NET Core开发Docker部署

ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细了解一下Docker的用途,以及真实的应用场景. Docker源于PaaS,PaaS的应用场景即是Docker的应用场景. Platform as a Service: 平台即服务, 是面向软件开发者的服务, 云计算平台提供硬件, OS, 编程语言, 开发库, 部署工具, 帮助软件开发者更快的开发软

ASP.NET Core开发-Docker部署运行

ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细了解一下Docker的用途,以及真实的应用场景. Docker源于PaaS,PaaS的应用场景即是Docker的应用场景. Platform as a Service: 平台即服务, 是面向软件开发者的服务, 云计算平台提供硬件, OS, 编程语言, 开发库, 部署工具, 帮助软件开发者更快的开发软

ASP.NET Core使用TopShelf部署Windows服务

asp.net core很大的方便了跨平台的开发者,linux的开发者可以使用apache和nginx来做反向代理,windows上可以用IIS进行反向代理. 反向代理可以提供很多特性,固然很好.但是还有复杂性,我们也可以使用windows service来直接启动kestrel. asp.net core官方网站提供了一种基于windows服务部署的方法:在 Windows 服务中托管 ASP.NET Core 这种方式需要修改代码,然后部署的时候,使用命令行创建.安装服务,然后再启动. 感觉