结合Jexus + Kestrel 部署 asp.net core 生产环境
来源:互联网 发布:centos man中文帮助 编辑:程序博客网 时间:2024/06/01 08:44
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。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应用关掉,会看到下面的页面
相关文章:
Centos 7.0 上安装 Jexus
Ubuntu Server 上安装 Jexus
支持ASP.NET为核心功能的高性能WEB服务器Jexus
Jexus V5.8.0 发布,跨平台 ASP.NET WEB 服务器
OS X 安装Jexus作为ASP.NET服务器
树莓派上安装mono和jexus运行ASP.NET程序
Jexus 网站服务器和 ASP.NET 跨平台开发
ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus
原文地址:http://www.cnblogs.com/shanyou/p/5518152.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注
- 结合Jexus + Kestrel 部署 asp.net core 生产环境
- ASP.NET Core Kestrel部署HTTPS
- Jexus部署Asp.Net Core项目
- Jexus 5.8.2 正式发布为Asp.Net Core进入生产环境提供平台支持
- Jexus部署.Net Core项目
- ASP.NET Core Docker jexus部署-CentOS实践版
- ASP.NET Core Docker jexus部署-CentOS实践版
- ASP.NET Core Docker jexus部署-CentOS实践版
- ubuntu16.4下用jexus部署asp.net core rtm
- Asp.Net Core 发布和部署(Linux + Jexus )
- ASP.NET Core的Kestrel服务器
- ASP.NET Core的Kestrel服务器
- 将ASP.NET Core应用程序部署至生产环境中(CentOS7)
- Jexus 托管方式运行 Asp.net core
- Centos环境下搭建Asp.NET Core环境和安装Jexus
- asp.net + mono + Jexus 部署 linux
- ASP.NET Core Kestrel 中使用 HTTPS (SSL)
- ASP.NET Core Kestrel 中使用 HTTPS (SSL)
- 理解 .NET Platform Standard
- IIS负载均衡-Application Request Route详解第三篇:使用ARR进行Http请求的负载均衡
- IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm
- C#使用Redis集群缓存
- .NET Core计划弃用project.json
- 结合Jexus + Kestrel 部署 asp.net core 生产环境
- IIS负载均衡-Application Request Route详解第一篇: ARR介绍
- Dapper、Entity Framework 和混合应用
- 为TFS配置跨平台的生成服务器Xplat (Ubuntu Linux)
- 升级.Net Core RC1的类库项目
- 升级ASP.Net Core项目
- Entity Framework升级
- TFS2015的CI集成
- 构建高性能.NET应用之配高可用IIS服务器-第五篇 IIS常见问题之:工作进程回收机制(中)