1. 程式人生 > >Jexus 安裝配置,官網說明

Jexus 安裝配置,官網說明

官網:http://www.jexus.org/

一、Jexus簡介:
Jexus web server for linux 是一款基於.NET相容環境,運行於Linux/unix作業系統之上,以支援ASP.NET為核心功能的高效能WEB伺服器。
Jexus V5.1有如下功能特點:
01、支援ASP.NET。這是Jexus的核心功能。無論是穩定性、易用性還是併發承載能力、並行處理速度,Jexus對ASP.NET的支援都是非常優秀的;
02、支援Fast-CGI。通Fast-CGI,Jexus能支援包括PHP在內的所有擁有Fast-CGI服務功能的WEB應用;
03、具備基於正則表示式的強大的URL重寫功能;
04、具有強勁的反向代理功能。支援多目標負載均衡,支援本地網站與遠端網站無縫整合;
05、擁有強大的流媒體支援能力,支援FLV/F4V視訊檔案拖動播放,支援微軟平滑流媒體技術;
06、支援“伺服器推送”技術,配備了相應的伺服器端、客戶端開發介面,是開發現代WEB應用的利器;
07、具備可控的“ASP.NET前置快取”,能最大限度地提高ASP.NET網站的承載能力和響應速度;
08、支援Https,具有SSL加密資料安全傳輸能力;
09、具有基礎而實用的入侵檢測功能,能自動終止已被識別的非法請求;
10、安裝部署非常簡便,操作使用極為簡單。


二、安裝前的準備工作:

1、系統已經安裝好mono 2.10.8 或更高版本,至於如何在linux上安裝mono,請參考www.linuxdot.net上的相關文章。
2、請確認Linux系統中存在 libc.so.6、libdl.so.2兩個庫檔案,如果需要啟用https,系統中還需要具備libssl.so.x.x.x庫檔案,比如libssl.so.0.9.8,如果沒有,請安裝OpenSSH。


三、下載並解壓Jexus安裝包:
1、下載:
地址:http://www.linuxdot.net/down/jexus-5.1.tar.gz,可以用wget下載,如:wget http://www.linuxdot.net/down/jexus-5.1.tar.gz

2、解壓:
tar -zxvf jexus-5.1.tar.gz

3、安裝:
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這幾個指令碼檔案的許可權,確定是否具有可執行許可權。


四、執行測試
    複製完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”。


五、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 兩項是必填項。


六、網站配置

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、網站配置的高階選項
網站配置的高階選項全是可選項,應該根據網站的實際需要選填。
靈活使用高階選項,可以架設出一臺與眾不同的、功能強大的伺服器平臺或者伺服器群組。

1、使用“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路徑。

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

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

4、是否對請求的URL等進行安全檢測
本選項預設是true,即需要檢查,除非你的確需要關掉這個選項,否則可以不填,格式如下:
checkquery=false
(關掉本項可以提高伺服器速度,但就安全而言,不建議關掉它)

5、NOFILE(無檔案)功能
nofile=/mvc/controller.aspx
(注:這是Jexus特有的功能,指的是如果伺服器不存在使用者要訪問的檔案,伺服器將使用什麼檔案應答。)
(提示:路由後,原RUL路徑會存貯在Jexus特有一個伺服器變數“X-Real-Uri”中)
(技巧:用這個功能,或者再加上URL Rewrite功能,你完全可以把URL路徑與真實路徑隔離開來,達到資訊隱藏和簡化URL的作用。)

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

7、長連線開關
keep_alive=true
注:V5.1版預設值是true,即預設使用長連線,可以不填。

8、反向代理功能
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就會隨機選擇一臺伺服器進行訪問,達到負載均衡或伺服器叢集的效果。

9、接受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

10、啟用gzip壓縮功能
usegzip=true    #即UseGzip
解釋:啟用這個功能後,當用戶訪問“.htm”“.js”等檔案時,Jexus會將這些檔案進行GZIP壓縮後傳送給使用者瀏覽器,這樣,可以節約更多的網路頻寬。

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


七、Jexus操作:

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

2、以“服務”方式進行後臺執行, 只需要基本命令後加一空格再加一“&”號(僅作例子,不建議使用)
mono /usr/jexus/jws.exe &

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


(注意:不同的Linux系統可能有不同的啟動方式,使用者應根據不同系統的特點靈活定製)
(提示:jws.start是指令碼檔案,使用者可以根據自己系統的特點去適當修改它,以便其啟動)

4、使用指令碼操作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)許可權。


八、解除安裝:
1、在rc.local檔案中刪除你手工新增的開機自動啟動Jexus的命令列(如果本來就沒有新增過,這步操作就不必做了)
2、刪除jexus資料夾及全部內容(建議只刪除*.exe和*.dll,其它的,比如網站配置檔案等不必刪除,以便將來重新啟用)。


九、資訊反饋與技術交流:
網址:www.linuxdot.net