ASP.NET Core 是微软的全新的框架。这一框架的目标 ︰

  1. 跨平台
  2. 针对云应用优化
  3. 解除 System.Web 的依赖。 获得下面三个方面的优势,你可以把它认为是一个C# 版本的NodeJS:

1) 模块化实现

2) 一切都尽可能的-异步

3) 依赖关系注入

微软已经如期发布了.NET Core R2, 具体参见文章《微软.NET Core RC2正式发布,横跨所有平台》,现在可以放心的基于.NET Core 构建 ASP.NET Core 。那么问题就来了,生产环境我们如何部署呢?

  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。

需要安装AspNetCoreModule(安装 ASP.NET Core Server Hosting Bundle 或者.NET Core SDK时会装上), AspNetCoreModule是一个native IIS module。Jexus 5.8.1 版本的端口“转发”功能也类似于IIS 的实现方式,通过端口转发方式将Kestrel 保护起来,又可以高性能运行。Jexus的实现方式上刘冰的博客《为支持ASP.NET5跨平台,Jexus再添新举措》进行了解释。

下面我们来介绍下怎么设置通过Jexus 把asp.net core 的请求转发给Kestrel Server来处理。我假设你已经把asp.net core rc2 的网站准备好了,我这里演示的就是我的一个实验站点“Hello World”, 运行在Azure上的Centos 7.0上,服务端口是127.0.0.1:5000 。

在jexus上为之新建一个网站,在这个网站的配置文件中加一行: AppHost.Port=5000 通过以上处理,访问jexus的这个网站,就会把请求转发到对应的应用上。下面是我的示例dotnetcore,配置文件放在/usr/jexus/siteconf,创建一个网站叫做dotnetcore:

port=5001 hosts=*

AppHost.Port=5000

通过 5001 端口转发到 5000端口,配置非常简单,这时的jexus也是一个侦听和数据转发的角色。当然,作为服务器,jexus也是一个“网站组织者”的角色。因为每个应用程序容器都有不同的端口,而服务器对外服务器不可能一个端口一个服务。通过jexus的“组织”,就能让不同的端口通过域名共同一个80端口。

保存后,重启Jexus服务器就生效了,就可以通过浏览器访问到asp.net core 网站了。

大家可以通过 http://mono.cloudapp.net:5001/  访问到我这个最简单的Hello World

如果我把后端的ASP.NET Core应用关掉,会看到下面的页面

结合Jexus + Kestrel 部署 asp.net core 生产环境相关推荐

  1. 在Windows Server 2012 R2 Standard 部署 ASP.NET Core程序

    前言: 随着ASP.NET Core 1.0的发布,论坛里相关的文章也越来越多,正好有时间在测试环境上搭建 ASP.NET Core的发布环境,把过程中遇到的问题写给大家,以便有用到的朋友需要. 环境 ...

  2. ubuntu16.4下用jexus部署asp.net core rtm

    今天说下ubuntu 下部署asp.net core,不需要安装.net core sdk,自带运行时方式部署,利用jexus服务器转发请求到asp.net core. 1.部署准备环境 vmware ...

  3. 在centos 7.4上使用jexus 部署 asp.net core 项目

    直接用dotnet xx.dll命令是可以部署asp.net core项目的,包括https也可实现.但是用jexus有以下几个好处: 1.jexus可以守护dotnet进程 2.同一服务器,同一端口 ...

  4. 在Linux环境下使用Apache部署ASP.NET Core

    在前几篇文章中我们一起探讨了如何在Linux环境中安装ASP.NET Core运行时环境及将ASP.NET Core项目部署在Jexus中,这篇文章中我们将探讨如何将ASP.NET Core部署于Ap ...

  5. .net core 2.0 部署到centos 7生产环境

    .netcore的跨平台如此之火,忍不住想试试 在linux下部署 .net 程序. 借鉴此篇博文:将ASP.NET Core应用程序部署至生产环境中(CentOS7) 虽然是借鉴,但过程坎坷.对从未 ...

  6. IIS部署asp.net core webapi

    一.需要安装Windows Server Hosting,作用是让IIS有方向代理功能(Asp.Net Core Module负责反向代理工作),将请求转发到Kestrel,Windows serve ...

  7. 在IIS上部署ASP.NET Core Web API

    目录 Visual Studio 2019和Dot Net Core 3.0 Windows Server上的Dot Net Core运行时 在服务器上启用IIS IIS应用程序池 IIS网站 创建A ...

  8. 在 Azure 上部署 Asp.NET Core Web App

    在云计算大行其道的时代,当你要部署一个网站时第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core的网站呢?Azure 的 Web App ...

  9. IIS部署ASP.Net Core 502.5错误和解决

    在Win7的机器上部署ASP.Net Core程序,老是提示502.5错误. 已经安装了 Microsoft Visual C++ 2015 Redistributable .NET Core Win ...

最新文章

  1. 项目管理5大过程组,42个过程一句话讲解
  2. 区块链挖矿的钱从哪来 区块链挖矿怎么挣钱
  3. 那些离开大厂,回归学术界的科学家们!
  4. Unity的学习笔记(鼠标移动控制视角移动)
  5. 又是加拿大!连年拒签NeurIPS参会者被指太荒唐,Hinton亲自过问也没辙
  6. 大数据实训报告_教学大数据实训平台解决方案_德拓信息_上海市徐汇区
  7. 前端,校招,面淘宝,指南
  8. AcWing 312. 乌龟棋
  9. Sublime Text 3 代码格式化插件推荐 CodeFormatter
  10. 年薪50万,他们招180名博士
  11. linux5怎么删除目录,Linux中目录的创建与删除命令使用说明
  12. 下载微信小程序中音频的方法和路径
  13. selenium自动化测试之鼠标模拟操作
  14. python最小二乘法线性回归_python 分别用梯度下降法和最小二乘法求线性回归 | 学步园...
  15. 学python如何找工作
  16. rtmp/rtsp播放器
  17. smart3D、acute3D、three3D等技术网页浏览3D模型注意事项
  18. Informatica任务卡在timeout based commit point
  19. 枚举的应用:熄灯问题讨厌的青蛙
  20. 线性回归理解(附纯python实现)

热门文章

  1. Poisson Image Editing 泊松融合 matlab代码完整
  2. 设置图片垂直居中line-height和vertical-align的区别
  3. word2vec代码_Word2Vec-——gensim实战教程
  4. c语言stoi函数源码,一系列相关函数的通用函数(例如std::stoi,std::stof,std::stod等)...
  5. sql查询 关联帖子_从零学会sql,复杂查询
  6. 使用Asible连接被控端SHH拒绝解决办法
  7. mysql系统变量_MySQL 系统变量(system variables)
  8. Windows安装python3.6.x版本
  9. apache下支持asp.net的实现方法
  10. win2003禁止web等目录执行exe,bat,com的方法