高性能WEB服务器Jexus

高性能WEB服务器Jexus

  • 收录时间:2016-06-30
  • 阅读:530次
  • 分享:
编辑评级
4

详细介绍

Jexus是一款运行于Linux/FreeBSD等操作系统,以支持ASP.NET为主要功能特征的高性能WEB服务器。Jexus首次公开发布时间是2008年10月,目前已经成为国内 Linux Asp.net 系统使用最为广泛的WEB服务器。

Jexus是由国内的大牛"宇内流云"(博客园地址:http://www.cnblogs.com/yunei/)开发的,其官网地址:http://www.linuxdot.net/    

jexus的官网地址:http://www.jexus.org/

Jexus有如下特点:

1,支持ASP.NET:这是Jexus的关键特点。它与linux上其它服务器支持ASP.NET的方式不同,Jexus是在进程内直接驱动ASP.NET,减少了进程间通讯和数据转换过程造成的性能消耗,因此,用Jexus运行ASP.NET会有更高的性能优势;

2,支持PHP:Jexus支持FastCGI协议,因此,它可以通过直接驱动 php-cgi 或与 php5-fpm 交互等不同方式支持PHP,同时对PHP工作进程运行状态进行监控,确保PHP工作稳定;

3,高性能:Jexus使用 epoll 等事件模型以及异步非阻塞等技术作为网络编程的核心技术,使用“多进程+多线程”工作模式,充分地利用服务器多核多CPU硬件资源,因此,Jexus具有良好的并发处理能力和响应速度;

4,高稳定性:Jexus采用主进程作控制进程,子进程作工作进程的“主从多进程”架构模式,任何一个工作进程崩溃,主控进程都能在极短的时间内启动新的工作进程继续提供服务,从而保证了整个系统能长时间不间断向外提供稳定的服务;

5,高安全性:与其它WEB服务器不同,Jexus会对所有的外部请求进行安全检测,能及时发现并终止诸如SQL注入、Web Shell等等web攻击,同时,Jexus也具有IP地址白名单、黑名单,每IP地址连接数量限制等功能,因些,Jexus比其它WEB服务器具有更高的安全性。

6,支持反向代理,支持负载均衡:由于Jexus具有高稳定性、高安全性以及良好的网络并发处理能力,所以,结合Jexus的反代、负载均衡能力,把Jexus置于大型应用系统的前端,作为系统的“入口”服务器,也是一种很好的架构方式。


 ASP.NET5发布以后,由于ASP.NET5与之前的ASP.NET相比,不管是从运行环境还是部署方式都发生了革命性的变化,Jexus很难像“前ASP.NET时代”那样,把ASP.NET5轻易地纳入其工作进程内直接运行。


      支持ASP.NET5,摆在Jexus面前有多种待选方案,比如利用OWIN协议针对ASP.NET5开发专用的适配器,或者利用Jexus的反向代理功 能,等等等等,但反复权衡之后,Jexus 5.8.1版选择了一条更加直捷且现实可行的方案:使用一种类似于“端口转发”的新功能,把网站端口与应用程序宿主端口“桥接”起来。


      之所以选择这个方案,是因为其它方案目前的局限性都比较大:

      1,OWIN方案。由于mono与.NET Core是完全不同的两个运行平台,本质上有很大的不同,为在Jexus进程内运行的OWIN适配器的开发工作造成了极大的困难,而且ASP.NET5还在发展中,架构方面、API方面都有相当的不确定性;

      2,反向代理方案。Jexus支持反向代理并且可以利用它做负载均衡,但是,反向代理由于需要对外部用户发过来的请求包和工作服务器发回来的响应包进行不 同程度的解析和重组,必然会消耗一定的计算资源。而且,反向代理对于WebSocket等技术的支持也有很大的难度和更大的性能消耗;

      3,基于.NET Core重新改写Jexus。这个方案明显不现实:原因之一,Jexus必须继续支持已经在生产环境中被广泛使用的“前ASP.NET”,如果基于 core改写,就会出现与“前ASP.NET”兼容性问题甚至出现“断代”风险,这绝不是Jexus用户愿意看到的事;原因之二,Jexus已经是一个开发了多年的成熟的WEB服务器,重写Jexus绝不是一个简单的事情,需要花费相当长的时间和非常大的精力。

      端口“转发”有着类式端口“桥接”的直接效果,它既避免OWIN方案的开发难度,也避免了反向代理方案在性能方面的耗损和应用层交互协议的局限性。而且更 重要的是,这个方案在支持微软为ASP.NET5量身打造的Kestrel这个宿主服务器的同时,也支持其它的花样繁多的自宿主应用,把Tomcat、 node.js的服务让Jeuxs整合起来对外统一用80端口提供服务,也完全是可行的。

      Jexus 5.8.1 BETA1已经发布,感兴趣的朋友可以到 http://www.linuxdot.net/ 去下载。



CentOS下安装jexus5.0的步骤如下:



1、下载:
下载地址是:http://www.linuxdot.net/down/jexus-5.0.1.tar.gz

wget http://www.linuxdot.net/down/jexus-5.0.1.tar.gz


2、解压:

tar -zxvf jexus-5.0.tar.gz


3、安装:
   Jexus安装非常简单,仅仅就是一个复制、粘帖和注册全局程序集的过程
   注意:以下所有操作请用root身份。

A、升级安装:

   1) 转到原安装jws的文件夹,如:

cd /usr/jexus/

   2) 停止旧版jexus的运行:     

sudo /usr/jexus/  jws.stop

   2) 删除旧版:

      sudo rm *.exe
      sudo rm *.dll


   3) 将解压文件夹中的下列文件复制到原来安装jexus的文件夹:

      jws.exe
      jwsHttpd.exe
      jxAspx.dll
      jxHost.dll
      jws.regsvr
      jws.start
      jws.restart
      jws.stop


   4) 将 jws.regsvr、jws.start、jws.restart、jws.stop 设为可执行
   5) 注册全局程序集(*非常重要*)
      进入安装jexus目标文件夹,然后运行:     

sudo ./jws.regsvr


B、全新安装:
   1) 建立jexus安装文件夹(一般为/etc/jws/),我安装到/usr/jexus/ :     

sudo mkdir /usr/jexus/


   2) 把解压所得到的文件及文件夹全部复制或移动到 /etc/jws 这个文件夹中     

如: sudo mv * /usr/jexus/


   3) 将 jws.regsvr、jws.start、jws.restart、jws.stop 设为可执行
   4) 注册全局程序集(*非常重要*)
      进入安装jexus目标文件夹(cd /usr/jexus/),然后运行:     

 sudo ./jws.regsvr


六、运行测试
    复制完Jexus的文件后,Jexus就可以正常工作了。
    所以,如果你的系统只要mono已经成功安装,jexus就可以直接使用,甚至连进一步的配置也完全不需要。

    如果是升级安装,你只需要用jws.start启动JWS,Jexus就可以正常工作了,如果不能正常工作,常常是新版本的配置方式可能有变,你可以查查jws.conf等配置文件。

    强调:如果你服务器安装有其它的WEB服务器,而且该服务正在运行,请停止它,以免造成端口冲突而造成Jexus无法启动。


最新收录