jexus

Jexus web server V5.1 安裝配置要點php


1、Jexus簡介:
Jexus web server for linux 是一款基於.NET兼容環境,運行於Linux/unix操做系統之上,以支持ASP.NET爲核心功能的高性能WEB服務器。
Jexus V5.1有以下功能特色:
0一、支持ASP.NET。這是Jexus的核心功能。不管是穩定性、易用性仍是併發承載能力、並行處理速度,Jexus對ASP.NET的支持都是很是優秀的;
0二、支持Fast-CGI。通Fast-CGI,Jexus能支持包括PHP在內的全部擁有Fast-CGI服務功能的WEB應用;
0三、具有基於正則表達式的強大的URL重寫功能;
0四、具備強勁的反向代理功能。支持多目標負載均衡,支持本地網站與遠程網站無縫整合;
0五、擁有強大的流媒體支持能力,支持FLV/F4V視頻文件拖動播放,支持微軟平滑流媒體技術;
0六、支持「服務器推送」技術,配備了相應的服務器端、客戶端開發接口,是開發現代WEB應用的利器;
0七、具有可控的「ASP.NET前置緩存」,能最大限度地提升ASP.NET網站的承載能力和響應速度;
0八、支持Https,具備SSL加密數據安全傳輸能力;
0九、具備基礎而實用的入侵檢測功能,能自動終止已被識別的非法請求;
十、安裝部署很是簡便,操做使用極爲簡單。html


2、安裝前的準備工做:linux

一、系統已經安裝好mono 2.10.8 或更高版本,至於如何在linux上安裝mono,請參考www.linuxdot.net上的相關文章。
二、請確認Linux系統中存在 libc.so.六、libdl.so.2兩個庫文件,若是須要啓用https,系統中還須要具有libssl.so.x.x.x庫文件,好比libssl.so.0.9.8,若是沒有,請安裝OpenSSH。web


3、下載並解壓Jexus安裝包:
一、下載:
地址:http://www.linuxdot.net/down/jexus-5.1.tar.gz,能夠用wget下載,如:wget http://www.linuxdot.net/down/jexus-5.1.tar.gz正則表達式

二、解壓:
tar -zxvf jexus-5.1.tar.gz瀏覽器

三、安裝:
Jexus安裝很是簡單,僅僅就是一個複製、粘帖和註冊全局程序集的過程,但要特別注意:須要用root身份進行操做。
A、複製文件,建議把jexus安裝到/usr/jexus中:
sudo cp -rf jexus-5.1 /usr/jexus
B、註冊全局程序集:
cd /usr/jexus
sudo ./jws.regsvr
C、請查看 jws.start、jws.stop、jws.restart、jws.regsvr這幾個腳本文件的權限,肯定是否具備可執行權限。緩存


4、運行測試
    複製完Jexus的文件後,Jexus就能夠正常工做了,甚至連進一步的配置也徹底不須要。
    強調:若是你服務器安裝有其它的WEB服務器,並且該服務正在運行,請中止它,以避免形成端口衝突而形成Jexus沒法啓動。安全

    若是是最新安裝,請首先創建一個默認的網站文件夾:/var/www/default,並在裏面放一個首頁文件,如index.htm或default.htm
    進入jexus工做文件夾,啓動jexus,命令以下:
    cd /usr/jexus
    sudo ./jws.start
    啓動後,請嘗試訪問一下這個網站,看看是否能看到你放的首頁或者jexus的歡迎頁,網址是:「http://服務器IP地址」或者「http://服務器IP地址/info」。服務器


5、Jexus 系統配置
Jexus按默認配置就能很好的工做,進一步配置是爲了Jexus更適合本身的須要。
Jexus最核心的一個配置文件,固定文件名是jws.conf,這個文件與jexus的其它工做文件在同一個文件夾中。
jws.conf有若是基本配置內容:網絡

SiteLogDir=log    #網站日誌以及Jexus系統日誌的存放位置,必填項。可使用基於jws.exe文件的相對路徑
SiteConfigDir=siteconf     #網站配置文件存放的位置,是必填項。可使用絕對路徑,也可使用基於jws.conf文件的相對路徑
Runtime=v4.0.30319    #設定Jexus工做進程運行於哪一個.NET版本
httpd.processes=1     #工做進程的數量,建議每6-8核CPU用一個進程,最多可設4個進程
httpd.user=www-data     #工做進程以什麼用戶身份和對應權限工做,默認爲root
php-fcgi.set=/usr/bin/php-cgi,6    #若是須要Jexus同時充當PHP FastCGI服務器,這一句就是fast-cgi設置,分兩個部分,逗號前爲php-cgi這個文件的路徑,逗號後是php進程數
CertificateFile=/xxxx/xx.crt    #SSL證書路徑(若是須要使用https協議才填)
CertificateKeyFile=/xxxx/xx.key    #SSL密鑰文件路徑(若是須要使用https協議才填)

注:jws.conf 中,SiteConfigDir 和 SiteLogDir 兩項是必填項。


6、網站配置

Jexus支持多站點,能夠用不一樣的端口、域名、虛擬路徑設置任意多的網站,配置時,首先要注意以下三個規則:
1)必須把全部網站配置文件放到jws.conf指定的網站配置文件夾內,這個文件夾除了網站配置文件,不能有其它任何文件,由於jexus會認爲這兒的任何一個文件都表明着一個不一樣的網站。
2)每一個網站有且只有一個配置文件,配置文件的文件名就是這個網站的名稱,好比 www.mysite.cn這個網站,配置文件名能夠寫成「mysite」,固然也能夠寫成其它文件名,以便管理員容易記憶和識別,但要特別注意:文件名不能有空格!
3)一個網站能夠擁有任意多的域名,不一樣網站不能有相同的域名,沒有域名的網站只能有一個,這個沒有域名的網站叫作「默認網站」,而一臺服務器最多隻能有一個默認網站。


下面以www.mysite.cn爲例,說說網站的配置
在網站配置文件夾中創建一個文件,這個文件的名稱應該有一些意義(至少要能讓服務器管理員瞭解這個配置文件是屬於哪個網站的)
設這個網站的配置文件的文件名爲:mysite

sudo miv mysite

A、網站配置的基本內容:
port=80                          # jexus WEB服務器偵聽端口(必填。固然能夠是其它端口)
root=/ /var/www/mysite           # 網站URL根路徑(虛擬目錄)和對應的物理路徑,兩個路徑字串之間必須用空格分開(必填。既使這個網站是一個純粹的反向代理站,也得填)

#可選項
hosts=mysite.cn,www.mysite.cn    # 網站域名(建議填寫),能夠用泛域名,好比:*.mysite.cn(不填此項或只填一個「*」號表示這是默認網站,一個端口只能有一個默認站)
indexs=index.aspx,index.htm      # 首頁文件名,能夠寫多個,用英文逗號分開(能夠不填。由於JWS系統含有經常使用首頁名)
aspnet_exts=mspx,ttt             # 添加新出現的或自定義的ASP.NET擴展名(不建議填。多個擴展名用英文逗號分開,不加點號。系統含有經常使用擴展名)


B、最簡配置示例
port=80
root=/ /var/www/default

C、網站配置的高級選項
網站配置的高級選項全是可選項,應該根據網站的實際須要選填。
靈活使用高級選項,能夠架設出一臺不同凡響的、功能強大的服務器平臺或者服務器羣組。

一、使用「URL重寫」功能
URL重寫是指WEB服務器將訪問者的請求URL路徑資源按指定的匹配規則解釋和匹配爲另外的一個真實RUL路徑資源。

好比,但願別人訪問「.php」類型的文件時,服務器返回 /404.html 這個文件:
rewrite=^/.+?\.(asp|php|cgi)$ /404.html
# 格式:
# 「rewrite=」的後面是兩部分阻成,兩部分之間由一個空格分開。
  空格前是匹配的條件:用正則表達式描述URL的匹配條件。
  空格後是匹配的目標:指的是若是用戶訪問的路徑合乎前面的匹配條件,服務器將以哪一個規則迴應。

又如:
把「/bbs」解析爲「/bbs/index.aspx」,把「/bbs/file-1」 匹配爲 「/bbs/show.aspx?id=1」:
rewrite=^/bbs$ /bbs/index.aspx
rewrite=^/bbs/file-([0-9]{1,6})$ /bbs/show.aspx?id=$1
格式解釋:rewrite的等號後含有兩部份內容,用空隔分開。前半部分是一個正則表達式,用於描述須要URL重寫的(用戶瀏覽器中的)url路徑樣式,後半部分是當用戶的URL合乎前面的正則表達式時,JWS應該重寫和訪問的真實URL路徑。

二、禁止某IP或IP段訪問本網站
denyfrom=111.222.111.*
denyfrom=101.202.111.*
denyfrom=101.201.1.132

三、禁止訪問某文件夾及其子文件夾中的內容
DenyDirs=網站文件夾路徑的URL路徑,如 「/abcfiles」或 「~/abcfiles」,多個路徑,用英文逗號分開

四、是否對請求的URL等進行安全檢測
本選項默認是true,即須要檢查,除非你的確須要關掉這個選項,不然能夠不填,格式以下:
checkquery=false
(關掉本項能夠提升服務器速度,但就安全而言,不建議關掉它)

五、NOFILE(無文件)功能
nofile=/mvc/controller.aspx
(注:這是Jexus特有的功能,指的是若是服務器不存在用戶要訪問的文件,服務器將使用什麼文件應答。)
(提示:路由後,原RUL路徑會存貯在Jexus特有一個服務器變量「X-Real-Uri」中)
(技巧:用這個功能,或者再加上URL Rewrite功能,你徹底能夠把URL路徑與真實路徑隔離開來,達到信息隱藏和簡化URL的做用。)

六、NOLOG(無日誌)功能
nolog=yes
(注:禁用網站日誌功能會提升WEB服務器系統的的處理速度,但不足也是明顯的,就是你沒法詳細瞭解網站的訪問狀況了)

七、長鏈接開關
keep_alive=true
注:V5.1版默認值是true,即默認使用長鏈接,能夠不填。

八、反向代理功能
reproxy= /abc/ http://www.xxxx.com:890/abc/
參數的值由本站RUL根路徑和目標網站URL根路徑兩部分組成,之間用空隔分開。
*技巧:反向代量的目標地址能夠有多個,用英文逗號分隔,如:
reproxy=/abc/ http://192.168.0.3/abc/,http://192.168.0.4/abc/
這時,當用戶訪問/abc/時,jexus就會隨機選擇一臺服務器進行訪問,達到負載均衡或服務器集羣的效果。

九、接受FAST-CGI提供的服務
對於TCP鏈接:
fastcgi.add=須要fast-cgi處理的文件擴展名|tcp:fast-cgi服務的IP地址:端口
如:fastcgi.add=php,php3|tcp:127.0.0.1:9000
對於unix sockets:
fastcgi.add=須要fcgi處理的文件擴展名|socket:路徑
如:fastcgi.add=php,php3|socket:/tmp/phpsvr

十、啓用gzip壓縮功能
usegzip=true    #即UseGzip
解釋:啓用這個功能後,當用戶訪問「.htm」「.js」等文件時,Jexus會將這些文件進行GZIP壓縮後發送給用戶瀏覽器,這樣,能夠節約更多的網絡帶寬。

十一、啓用HTTPS進行SSL安全傳輸
本功能是對服務器與客戶之間的數據進行加密傳送,提供數據的保密性。具體方法請訪問www.linuxdot.net的專題講解。


7、Jexus操做:

一、基本的啓動命令的格式(僅做例子,不建議使用)
mono /usr/jexus/jws.exe
如:mono /usr/jexus/jws.exe
這個命令運行後,用 Ctrl+c 組合鍵退出程序

二、以「服務」方式進行後臺運行, 只須要基本命令後加一空格再加一「&」號(僅做例子,不建議使用)
mono /usr/jexus/jws.exe &

三、開機自動啓動:
在/etc/rc.local 或類試的開機啓動腳本中加入下面這一行命令:
mono /usr/jexus/jws.exe >/dev/null 2>&1 &
或者
/usr/jexus/jws.start  #推薦方式


(注意:不一樣的Linux系統可能有不一樣的啓動方式,用戶應根據不一樣系統的特色靈活定製)
(提示:jws.start是腳本文件,用戶能夠根據本身系統的特色去適當修改它,以便其啓動)

四、使用腳本操做Jexus(推薦使用):
Jexus自帶了三個腳本,分別是:jws.start、jws.restart、jws.stop。

功能1,對Jexus服務器操做:
jws.start     #啓動JEXUS服務,能夠寫入rc.local文件中,從而達到開機自啓動的目的;
jws.stop      #中止Jexus的運行。
jws.restart   #重啓Jexus;

功能2,對某個指定的網站操做:
jws.restart 網站名     #加載/啓動/重啓一個指定的網站
jws.stop 網站名        #中止一個指定的網站


注意,這些腳本須要具備可執行權限,同時操做者也必須擁有管理員(root)權限。


8、卸載:一、在rc.local文件中刪除你手工添加的開機自動啓動Jexus的命令行(若是原本就沒有添加過,這步操做就沒必要作了)二、刪除jexus文件夾及所有內容(建議只刪除*.exe和*.dll,其它的,好比網站配置文件等沒必要刪除,以便未來從新啓用)。

相關文章
相關標籤/搜索