阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

225次阅读
没有评论

共计 3223 个字符,预计需要花费 9 分钟才能阅读完成。

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

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

格式: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 5.8.2 正式发布为 Asp.Net Core 进入生产环境提供平台支持

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

cd /usr/jexus

./jws start

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

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

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

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

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

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

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

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

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

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

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

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

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-11/137604.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3223字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中