Jexus 5.8.2 正式发布为Asp.Net Core进入生产环境提供平台支持

Jexus 是一款运行于 Linux 平台,以支持  ASP.NET、PHP 为特色的集高安全性和高性能为一体的 WEB 服务器和反向代理服务器。最新版 5.8.2 已经发布,有如下更新:

1,现在大部分网站已经部署HTTPS,大家对于安全越来越重视,顺应潮流新增HTTPS多证书支持,每个网站都可以配置自己独立的SSL证书,现在有2种方式支持网站部署HTTPS。

   A、添加全服务器使用的SSL配置:如果需要,可以添加一个ssl配置为所有没有单独配置ssl的网站提供共享,这个配置,对支持泛域名的证书提供了方便。
     方法是,修改jws.conf中的“CertificateFile”和“CertificateKeyFile”项,分别填写证书文件和私钥文件(绝对路径)。
   B、为指定的网站添加SSL配置:方法是修改网站配置文件,分别为“ssl.certificate”和“ssl.certificatekey”条目填写证书文件和私钥文件(绝对路径)。
注1:网站启用https,port必须设为443,并且UseHttps的值设为true。
注2:Jexus Https需要名为libssl的函数库支持,如果你服务器没有libss.so.xxx文件,需要安装openssl。
     对于通用版,把libssl注册到 /usr/etc/mono/config中,即向这个文件添加一行(假设libssl的文件名是"libssl.so.1.0.0"):
     “<dllmap dll="libssl" target="/lib/x86_64-linux-gnu/libssl.so.1.0.0" />”
     对于独立版,只需要把libssl软连到 jexus的runtime/lib文件夹中就行,如:
     “sudo ln -s //lib/x86_64-linux-gnu/libssl.so.1.0.0  /usr/jexus/runtime/lib/libssl.so”

注3:如果单独为网站配备SSL证书,那么该站的hosts项填写的域名需要与SSL证书支持的域名一致。

2,新增AppHost(HTTP自宿主应用程序管理器)配置项,用于对Asp.net Core、Node.js、Tomcat等自宿主应用程序的管理和高速数据转发,为自宿主服务程序提供了与站点操作相一致的同步管理和高可用性,为AppHost.Port(应用程序端口转发)提供多端口支持。

3,启用FastCGI的KEEP连接复用机制,进一步提升了与PHP等Fast CGI处理程序间的数据交换性能。

4,完善WebSockets的Close方法。

6,新增对HTTP PATCH方法的支持。

7,修复当使用Https向fastcgi、反向代理POST数据时,可能出现数据不完整的BUG。

8,静态文件并发处理速度提升14%左右。

本版的亮点是新增“AppHost”配置项,将HTTP自宿主应用程序(如Asp.net Core应用程序、Node.js应用程序等)统一纳入Jexus的工作进程序列进行管控(启动、停止、重启、崩溃后自动恢复等管理、监控功能),为Asp.Net Core应用程序进入企业化生产环境提供了强有力的平台保障。使用 jexus整合asp.net core的优点:

      1)支持多站点,同一端口可以同时支持任何多的asp.net core应用程序;
      2)应用程序启动、停止、重启与站点的启动、停止、重启等操作一致,无需手工管理asp.net core应用程序;
      3)具有应用程序崩溃后自动重启功能,为企业级不间断运行保障;
      4)具有比反向代理更高的性能优势。

      5)提供与IIS相同的HTTP环境参数。

AppHost的配置格式是:
AppHost={CmdLine=应用程序命令行; AppRoot=应用程序工作目录; Port=应用程序HTTP侦听端口},其中:
“CmdLine”表示启动应用程序的命令行,如:dotnet /var/www/site1/app.dll;
“AppRoot”表示应用程序工作目录,如:/var/www/site1;
“Port”表示这个HTTP应用程序所使用的侦听端口,如:5000(Asp.Core默认端口是5000)。

例如,假设Asp.Net Core应用程序存放的路径在“/var/www/mysite”,其启动程序存放在该文件夹中,名称是“webapp”,程序启动后的侦听端口是5000,那么,AppHost配置应为:
AppHost={CmdLine=/var/www/mysite/webapp;AppRoot=/var/www/mysite; port=5000 }

下面我们实例介绍下Centos 配置ASP.Net Core+ Jexus 运行环境

用Visual Studio 2015 Update 3安装.net core 1.1 ,创建一个asp.net core项目,我的代码放在https://github.com/geffzhang/AspNetCoreStarted 

安装jexus5.8.2独立版(推荐)

cd /tmp
wget linuxdot.net/down/jexus-5.8.2-x64.tar.gz
tar zxvf jexus-5.8.2-x64.tar.gz
cd jexus/
cd siteconf/
vi default
 
添加AppHost

格式:AppHost={CmdLine=命行行; AppRoot=工作路径; Port=端口号}
说明:CmdLine:必选项。表示启动这个web应用程序的命令(含参数),如 CmdLine= dotnet /var/www/aspnetcore/AspNetCoreStarted.dll
       AppRoot:必选项。表示这个应用程序的工作目录,如:AppRoot=/var/www/aspnetcore
       Port:可选项。表示这个应用程序的侦听端口,多个端口用英文逗号分隔(注:如果没有填写这一项,就请在AppHost.port或reproxy中填写端口号,否则,请求数据无法转发给应用程序)。
       Env:可选参数。表示这个应用程序工作时需要的环境变量,如 env=(PATH=/usr/local/bin:/var/www/aspnetcore:$PATH),多个设置用英文逗号分开。
       ErrLog:可选项。表示将这个应用程序的异常输出重定向到指定的文件(需填写完整路径),如果不原意输出日志,可以不用OutLog项。这时, jexus会自动关掉控制台输出(实质是重定向到/dev/null中了);
       OutLog:可选项。表示将这个应用程序的控制台输出重定向到指定的文件(需填写完整路径);
       User: 可选项。以指定的用户身份运行该应用程序,默认为root身份。
注意:
   1,AppHost像AppHost.Port一样,不支持虚拟路径;
   2,AppHost功能是将指定的具有http服务能力的web应用程序纳入jexus工作进程进行管理,对Asp.Net Core或Node.js等自宿主web程序用于生产环境具有重要的意义。

在Jexus 接管之前试试,确保应用在服务器上运行正常


启动jexus 服务接管应用的管理

cd /usr/jexus

./jws start

用浏览器访问下我们的网站 http://52.175.35.6/ :

我们检查下/tmp 目录下的日志输出:

已经生成了我们所要的日志:

OutLog输出的日志很多呀。产品运营环境用的时候,应该把日志级别提高到err级,这样会少很多记录,而且不影响速度,少不产生日志会大大提升性能。日志的等级可以这么设置:

我们再来看看Jexus 和 asp.net core的进程

上图可以看到的确已经是jexus监控下的子进程了。

原文地址:http://www.cnblogs.com/shanyou/p/jexus582.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327722.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

拦截器中/* vs /** ------SpringMVC

<!--关于拦截器的配置--> <mvc:interceptors><mvc:interceptor><!--/** 包括路径及其子路径--><!--/admin/* 拦截的是/admin/add等等这种 , /admin/add/user不会被拦截--><!--/admin/** 拦截的是/admin/下的所有--><mvc:mapping path&q…

php移动代码,移动专区周级收录如何提交 复制这段php代码即可

今天我们来讲解下“移动专区的周级提交”很多朋友都在使用移动专区(之前的熊掌号)进行提交&#xff0c;但是天级提交只给10个额度&#xff0c;需要我们不断提交10个才会有所增长&#xff0c;但是我们可以使用“周级提交”可以直接享受5万的数据提交&#xff0c;对于我们站点的收…

Java IO: 异常处理

转载自 Java IO: 异常处理译文链接 作者&#xff1a;Jakob Jenkov 译者&#xff1a; 李璟(jlee381344197gmail.com) 流与Reader和Writer在结束使用的时候&#xff0c;需要正确地关闭它们。通过调用close()方法可以达到这一点。不过这需要一些思考。请看下边的代码&#xff1a…

钟 docker讲解

任意目录打开git bash AdministratorPC-201908221240 MINGW64 ~/Desktop/开发工具$ ssh root10.23.12.67 连接服务器 The authenticity of host 10.23.12.67 (10.23.12.67) cant be established. ECDSA key fingerprint is SHA256:q//66ce/mAHBGMTzqoOuHyW4h2m3ywE6BQevsNXv…

拦截器---SpringMVC(权限拦截)

拦截器 概述 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。 **过滤器与拦截器的区别&#xff1a;**拦截器是AOP思想的具体应用。 过滤器 servlet规范中的一部分&#xff0c;任…

搭建高可用的rabbitmq集群 + Mirror Queue + 使用C#驱动连接

我们知道rabbitmq是一个专业的MQ产品&#xff0c;而且它也是一个严格遵守AMQP协议的玩意&#xff0c;但是要想骚&#xff0c;一定需要拿出高可用的东西出来&#xff0c;这不本篇就跟大家说 一下cluster的概念&#xff0c;rabbitmq是erlang写的一个成品&#xff0c;所以知道如何…

Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)

<?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace"houseDao" ><result…

JS Promise的实现原理

转载自 JS Promise的实现原理在前端开发过程中&#xff0c;会经常使用到 Promise 模式&#xff0c;可以使异步代码看起来如同步般清新易读&#xff0c;从而从回调地狱中解脱出来。ES6中 已原生支持 Promise&#xff0c;但在未支持的浏览器中还需要通过 polyfill 模拟实现。下…

php类常量的特点,php类常量是什么?类常量用法详解

这篇文章主要介绍了php类常量用法,实例分析了php中类常量的概念、特性与相关使用技巧,需要的朋友可以参考下本文实例讲述了php类常量用法。分享给大家供大家参考。具体如下&#xff1a;类常量属于类自身&#xff0c;不属于对象实例&#xff0c;不能通过对象实例访问子类可以重写…

手机钉钉在进行视频会议时怎么录屏

https://www.iefans.net/info/v1037168.html 钉钉在进行视频会议时怎么录屏 编辑&#xff1a;秩名2020-03-24 10:14:52 钉钉 类型&#xff1a;效率办公 语言&#xff1a;简体中文 安卓下载 扫一扫下载游戏 钉钉是一款很好用的学习办公软件&#xff0c;它的工呢很多&#xf…

文件上传与下载----SpringMVC

文件上传 1、导入文件上传的jar包&#xff0c;commons-fileupload &#xff0c; Maven会自动帮我们导入他的依赖包 commons-io包&#xff1b; <!--文件上传--> <dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupl…

Vue3学习(后端开发)

目录 一、安装Node.js 二、创建Vue3工程 三、用VSCode打开 四、源代码目录src 五、入门案例——手写src 六、测试案例 七、ref和reactive的区别 一、安装Node.js 下载20.10.0 LTS版本 https://nodejs.org/en 使用node命令检验安装是否成功 node 二、创建Vue3工程 在…

微软Ignite大会约起来

今年的微软Ignite技术大会今天开始了&#xff0c;要好好学习哦&#xff0c;提供直播地址&#xff0c;通过阅读原文链接可以直达直播地址 http://soft.zdnet.com.cn/special/microsoft_ignite_2016。 大会亮点 创新 IT 技术飞速发展促发了更多行业创新&#xff0c;因此您和您的企…

aria2c rpc php,aria2c 的基本配置,附带傻瓜式源码

经常需要配置&#xff0c;但是 每次都需要查找配置项的意义&#xff0c;所以索性写在这里&#xff0c;以便有个记录&#xff0c;下次无需查找。aria2c -d/Users/blueboz/Downloads \-c \-D \-laria.log \-j5 -k1M \-x16 -s16 \--file-allocationnone \--enable-rpc \--load-coo…

探讨JS合并两个数组的方法

转载自 探讨JS合并两个数组的方法我们在项目过程中&#xff0c;有时候会遇到需要将两个数组合并成为一个的情况。 比如&#xff1a; var a [1,2,3]; var b [4,5,6];有两个数组a、b&#xff0c;需求是将两个数组合并成一个。方法如下&#xff1a; 1、concat js的Array对象提供…

最全Windows下搭建go语言开发环境以及开发IDE

https://www.cnblogs.com/ynhmonster/p/8335797.html GO语言开发环境的搭建---Windows环境下 1、Golang下载 我是通过Golang中国下载的&#xff0c;因为去官网下载十分慢&#xff0c;甚至没有进度条。 下载地址&#xff1a; https://www.golangtc.com/download 我选择的是go1…

Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)

<?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><typeAliases><!-- 动…

外媒:微信小程序顺应“APP中启动APP”的行业潮流

BI中文站 11月30日报道 上周&#xff0c;中国网络巨头腾讯的高级副总裁张小龙对外披露了一些照片&#xff0c;显示聊天工具微信开始整合“小程序”。这一功能可以让微信的用户在无需下载软件的基础上&#xff0c;使用各种互联网应用服务&#xff0c;极大扩展微信的功能。 据外媒…

SpringMVC(笔记)

MVC简介 普通的web项目每次都要进行手动的把jar包导进去&#xff0c;否则会报500&#xff0c;class not found [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VstjHhuz-1609824493673)(C:\Users\王东梁\AppData\Roaming\Typora\typora-user-images…

php 去掉url中的index.php,php 去掉url中的index.php

php去掉url中的index.php的方法&#xff1a;首先打开相应的代码文件&#xff1b;然后将if代码块嵌套在server代码块中&#xff1b;最后重启nginx服务器即可。本文操作环境&#xff1a;nginx1.0.4系统、PHP7.1版&#xff0c;DELL G3电脑nginx服务器去掉url中的index.php将if代码…