结合Jexus + Kestrel 部署 asp.net core 生产环境
ASP.NET Core 是微软的全新的框架。这一框架的目标 ︰
- 跨平台
- 针对云应用优化
- 解除 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 生产环境相关推荐
- 在Windows Server 2012 R2 Standard 部署 ASP.NET Core程序
前言: 随着ASP.NET Core 1.0的发布,论坛里相关的文章也越来越多,正好有时间在测试环境上搭建 ASP.NET Core的发布环境,把过程中遇到的问题写给大家,以便有用到的朋友需要. 环境 ...
- ubuntu16.4下用jexus部署asp.net core rtm
今天说下ubuntu 下部署asp.net core,不需要安装.net core sdk,自带运行时方式部署,利用jexus服务器转发请求到asp.net core. 1.部署准备环境 vmware ...
- 在centos 7.4上使用jexus 部署 asp.net core 项目
直接用dotnet xx.dll命令是可以部署asp.net core项目的,包括https也可实现.但是用jexus有以下几个好处: 1.jexus可以守护dotnet进程 2.同一服务器,同一端口 ...
- 在Linux环境下使用Apache部署ASP.NET Core
在前几篇文章中我们一起探讨了如何在Linux环境中安装ASP.NET Core运行时环境及将ASP.NET Core项目部署在Jexus中,这篇文章中我们将探讨如何将ASP.NET Core部署于Ap ...
- .net core 2.0 部署到centos 7生产环境
.netcore的跨平台如此之火,忍不住想试试 在linux下部署 .net 程序. 借鉴此篇博文:将ASP.NET Core应用程序部署至生产环境中(CentOS7) 虽然是借鉴,但过程坎坷.对从未 ...
- IIS部署asp.net core webapi
一.需要安装Windows Server Hosting,作用是让IIS有方向代理功能(Asp.Net Core Module负责反向代理工作),将请求转发到Kestrel,Windows serve ...
- 在IIS上部署ASP.NET Core Web API
目录 Visual Studio 2019和Dot Net Core 3.0 Windows Server上的Dot Net Core运行时 在服务器上启用IIS IIS应用程序池 IIS网站 创建A ...
- 在 Azure 上部署 Asp.NET Core Web App
在云计算大行其道的时代,当你要部署一个网站时第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core的网站呢?Azure 的 Web App ...
- IIS部署ASP.Net Core 502.5错误和解决
在Win7的机器上部署ASP.Net Core程序,老是提示502.5错误. 已经安装了 Microsoft Visual C++ 2015 Redistributable .NET Core Win ...
最新文章
- 项目管理5大过程组,42个过程一句话讲解
- 区块链挖矿的钱从哪来 区块链挖矿怎么挣钱
- 那些离开大厂,回归学术界的科学家们!
- Unity的学习笔记(鼠标移动控制视角移动)
- 又是加拿大!连年拒签NeurIPS参会者被指太荒唐,Hinton亲自过问也没辙
- 大数据实训报告_教学大数据实训平台解决方案_德拓信息_上海市徐汇区
- 前端,校招,面淘宝,指南
- AcWing 312. 乌龟棋
- Sublime Text 3 代码格式化插件推荐 CodeFormatter
- 年薪50万,他们招180名博士
- linux5怎么删除目录,Linux中目录的创建与删除命令使用说明
- 下载微信小程序中音频的方法和路径
- selenium自动化测试之鼠标模拟操作
- python最小二乘法线性回归_python 分别用梯度下降法和最小二乘法求线性回归 | 学步园...
- 学python如何找工作
- rtmp/rtsp播放器
- smart3D、acute3D、three3D等技术网页浏览3D模型注意事项
- Informatica任务卡在timeout based commit point
- 枚举的应用:熄灯问题讨厌的青蛙
- 线性回归理解(附纯python实现)
热门文章
- Poisson Image Editing 泊松融合 matlab代码完整
- 设置图片垂直居中line-height和vertical-align的区别
- word2vec代码_Word2Vec-——gensim实战教程
- c语言stoi函数源码,一系列相关函数的通用函数(例如std::stoi,std::stof,std::stod等)...
- sql查询 关联帖子_从零学会sql,复杂查询
- 使用Asible连接被控端SHH拒绝解决办法
- mysql系统变量_MySQL 系统变量(system variables)
- Windows安装python3.6.x版本
- apache下支持asp.net的实现方法
- win2003禁止web等目录执行exe,bat,com的方法