ASP.NET Core 的运行环境由新开发的 Kestrel Server 负责,IIS 退回到 HTTP 的侦听器的角色,微软也特别为了这个需求开发了 IIS Platform Handler,以处理 HTTP 与运行环境之间的信息转发工作,微软官方推荐在Linux服务器上使用Nginx,Haproxy等代理Kestrel Server,具体参考 http://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications-with-IIS。

基础环境和相关软件准备

一、CentOS7.1 64位系统(或者其他CentOS版本的64位系统)

二、XShell软件(Windows环境下的Linux终端)

三、.NetCore安装运行

1.下载安装,下载地址,https://www.microsoft.com/net/download#core

2.创建项目

3.还原依赖库&运行程序

4.发布程序&运行程序

5.后台运行

四、Nginx

1.下载安装

3.运行Nginx

2.配制环境

4.运行效果

操作步骤

一、虚拟机安装好CentOS7.1系统,并调试好网络

二、安装好XShell软件

三、.Net Core安装运行

1、下载安装

yum install libunwind libicu

curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=809131

sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet

sudo ln -s /opt/dotnet/dotnet /usr/local/bin

命令简单解释

1)安装必要的支持包

2)下载.Net Core安装包(有点大,需要耐心等待。。。。)

3)解压安装包并将文件拷贝到/opt/dotnet目录

4)在/usr/local/bin目录下创建一个名为dotnet的软链接文件指向 /opt/dotnet/dotnet文件,软链接理解为快捷方式即可

2、创建.Net Core应用程序

mkdir mvctest

cd mtctest

dotnet new mvc --auth None --framework netcoreapp1.1

命令简单解释

1)创建名为mvctest的目录

2)进入该目录

3)执行dotnet new命令创建一个.Net Core MVC项目

3、还原依赖库&运行程序

dotnet restore

dotnet run

会运行在本机的localhost:5000端口,这时dotnet mvc项目已经跑起来了

命令解释
     1)根据mvctest项目中的project.json配置文件来还原依赖库文件(其实就是Nuget从远端服务器上下载相关依赖文件)

2)运行mvctest程序(默认访问地址为:http://localhost:5000)

4、发布程序&运行程序

  第3步已经可以运行程序了,是Debug运行,发布后是Release运行,会有优化

dotnet publish -c release

  

dotnet run /root/web/mvc/bin/release/netcoreapp1.1/mvc.dll

5、后台运行

vim Start.sh,写入如下内容

  

chmod +x Start.sh,给文件加入执行权限

执行脚本,./Start.sh, 程序后台运行,可以关闭Shell窗口

sh脚本语法

四、Nginx

1、下载安装

   yum install nginx  提示没有可用的软件包,因为nginx位于第三方的yum源里面,而不在centos官方yum源里面

解决方案:安装epel;

   去epel官网: http://fedoraproject.org/wiki/EPEL下载;这里面东西有点多难找;

参考网址

2、运行Nginx

  命令:systemctl start nginx 来启动nginx。

或者 service nginx start

  命令:systemctl enable nginx 来设置nginx的开机启动(linux宕机、重启会自动运行nginx不需要连上去输入命令)。

或者chkconfig nginx on

运行成功后可以进浏览器看一下Nginx是否能正常运行

3、配制环境

  1)配置防火墙

    命令:firewall-cmd --zone=public --add-port=80/tcp --permanent(开放80端口)

    命令:systemctl restart firewalld(重启防火墙以使配置即时生效)

  2)关闭SELinux ,使用getenforce 查询

    临时关闭(不用重启机器):

      setenforce 0                  ##设置SELinux 成为permissive模式

      ##setenforce 1 设置SELinux 成为enforcing模式

    修改配置文件需要重启机器:

      修改/etc/selinux/config 文件

      将SELINUX=enforcing改为SELINUX=disabled

      重启机器即可

  3) 修改Nginx 配制,保存

命令: vim /etc/nginx/nginx.conf 

server {
  listen 80;
  location / {
    proxy_pass http://localhost:5000;
  }
}

4) 重新加载Nginx配制文件

命令:nginx -t 测试配制文件是否正确

命令:nginx -s reload 重新加载nginx配制文件,不用重启nginx

4、运行效果

转载于:https://www.cnblogs.com/rabbityi/p/7019662.html

ASP.NET Core部署到CentOS7,使用Nginx代理相关推荐

  1. ASP.NET Core 部署到docker

    ASP.NET Core 部署到docker ASP.NET Core:ASP.NET Core程序使用Docker部署 前提:本地已有 ASP.NET Core web应用程序,并且已安装docke ...

  2. Centos7下Nginx代理和二级域名配置

    Centos7下Nginx代理和二级域名配置 nginx的安装步骤请阅读上一篇文章. 一.nginx的反向代理配置 编辑nginx的配置文件(找到自己的配置文件) vim /usr/local/ngi ...

  3. ASP.NET Core部署到Linux服务器(CentOS7 x64)

    前言 本文主要讲解如何一步步将ASP.NET Core网站发布到Linux服务器,文中会讲解具体步骤及需要避免的各种问题. 目录 一.环境介绍 二.创建及发布ASP.NET Core网站项目 三.服务 ...

  4. Linux+Nginx+Asp.net Core部署

    上篇<Docker基础入门及示例>文章介绍了Docker部署,以及相关.net core 的打包示例.这篇文章我将以oss.offical.site站点为例,主要介绍下在linux机器下完 ...

  5. Asp.Net Core部署:早知道,还是docker!以及一点碎碎念

    前言 AspNetCore技术栈在我们团队里的使用也有一段时间了,之前的部署方式一直是本地编译之后上传可执行文件到服务器,使用supervisor来管理进程这种很原始的方式. 参考之前的文章:Asp. ...

  6. ASP.NET Core 部署到Cont OS 服务器

    一.前言 当 asp.net core 发布以后,实现了跨平台.基于好奇,我就测试了一下 core 项目部署到 linux 服务器.感觉一路还是有所收获,接下来记录一下操作流程. 工具:window ...

  7. 阿里云容器服务与ASP.NET Core部署:用 docker secrets 保存 appsettings.Production.json

    这是我们使用阿里云容器服务基于 docker 容器部署 asp.net core 应用遇到的另一个问题 -- 如果将包含敏感信息的应用配置文件 appsettings.Production.json ...

  8. 解决 ASP.NET Core 部署到 IIS,更新项目时文件夹正在使用错误

    前言 虽然 ASP.NET Core 应用程序是跨平台的,但我们还是经常将它部署到 Windows 的 IIS 下. 当 ASP.NET Core 站点运行时,它会锁定正在使用的程序集,如果这时向站点 ...

  9. 解决ASP.NET Core部署到IIS,更新项目另一个程序正在使用此文件,进程无法访问...

    问题 部署到IIS上的ASP.NET Core项目,在更新的时候会进程占用的错误 解决思路 初步解决方案: 1,关闭应用程序池 2,关闭网站 3,更新项目 缺点:网站没法访问,部署项目停的时间过长 答 ...

最新文章

  1. 「云网络」VS「云计算」- vecloud微云服务器
  2. Zabbix的架构配置选项
  3. Raft 一致性算法论文译文
  4. swift面向对象之属性
  5. 判断文件是否存在如果不存在则创建
  6. java字符串不可变_Java字符串真的是不可变的吗?
  7. win11如何创建访客账户 windows11创建访客账户的设置方法
  8. Qt与Matlab混合编程细节总结
  9. 4道过滤菜鸟的iOS面试题
  10. 几种常用网页返回顶部的代码
  11. 计算机软件类发明专利,计算机软件发明专利技术交底资料范例.doc
  12. pc android 凤凰,PC上玩安卓,选凤凰系统还是模拟器?
  13. 91卫图助手免费版发布啦
  14. 理想气体的质量流量计算
  15. 普林斯顿陈丹琦组:以实体为问题中心,让稠密检索模型DPR光环暗淡
  16. 百度AI的2020:迎合时代节拍,扛起智能大旗
  17. 2017 CCPC 秦皇岛 G题
  18. 虚拟机安装Windows11正式版
  19. 人工智能在医药行业的应用
  20. TechnoAP公司发布“脉冲形状鉴别”选件

热门文章

  1. 系统动力学建模工具_多体动力学:ANSYS Motion 2020R2
  2. java靜態常量_Java靜態變量、靜態常量、靜態方法
  3. java webservice用户验证_java webservice 用户验证 (服务端 + 客户端)
  4. 自编码器模型详解与实现(采用tensorflow2.x实现)
  5. iOS UIPageControl
  6. JPA EntityManager –HibernateEntityManager
  7. 如何在Windows即服务上安装Memcached Server
  8. 如何创建线程?如何创建扩展Thread类?
  9. OpenCV(三) 图像的读取和显示
  10. eclipse 构建 jpa project 所需的用户库(vendor: EclipseLink)