高性能WEB服務器Jexus

高性能WEB服務器Jexus

  • 收錄時間:2016-06-30
  • 閱讀:565次
  • 分享:
編輯評級
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無法啟動。


最新收錄

湖北体彩十一选五玩法