博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
结合Jexus + Kestrel 部署 asp.net core 生产环境
阅读量:5988 次
发布时间:2019-06-20

本文共 1282 字,大约阅读时间需要 4 分钟。

 

 

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

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

1) 模块化实现

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

3) 依赖关系注入

       微软已经如期发布了.NET Core R2, 具体参见文章《》,现在可以放心的基于.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(安装  或者.NET Core SDK时会装上), AspNetCoreModule是一个native IIS module。Jexus 5.8.1 版本的端口“转发”功能也类似于IIS 的实现方式,通过端口转发方式将Kestrel 保护起来,又可以高性能运行。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 网站了。 

大家可以通过   访问到我这个最简单的Hello World

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

转载地址:http://zdnlx.baihongyu.com/

你可能感兴趣的文章
浅谈CSS中的居中
查看>>
鸟哥的Linux笔记-------磁盘与文件系统
查看>>
Eclipse C++:Binary not found in Ubuntu 14.04解决方案
查看>>
js 判断Object 是否为空问题解决方案
查看>>
Hibernate 和 Mybatis 两者相比的优缺点
查看>>
中美老太太第二次对话
查看>>
mybatis初步----查询之resultMap和resultType
查看>>
ORA-09817/Linux-x86_64 Error: 28: No space left on device/ORA-01075
查看>>
BurpFilter
查看>>
设计模式(二)“开-闭”原则(OCP-----Open-Closed Principle)
查看>>
Javascript:字符“;”中不允许使用属性规格列表怎么办
查看>>
Centos 5.x 升级 python2.7,安装setuptools、mysqldb 完整记录
查看>>
Rsession让Java与R建立连接
查看>>
ajaxFileUpload导致file选择框onchange事件失效
查看>>
通用参数中少了如service、partner等必填参数
查看>>
突破瓶颈,对比学习:Eclipse开发环境与VS开发环境的调试对比
查看>>
程序安装打包
查看>>
找工作的程序员必懂的Linux
查看>>
仿Spring @autowire注解
查看>>
浅谈MySQL存储引擎选择 InnoDB还是MyISAM
查看>>