09、具有基礎而實用的入侵檢測功能,能自動終止已被識別的非法請求;
10、提供符合OWIN標準的應用層接口,支持Nancy、等符合OWIN標準的應用框架,支持;
11,提供管理器功能,能將 core或node.js、等“自宿主”式的以控制臺方式運行的web應用程序與網站整合,納入jexus統一管理;
一、安裝:
安裝前的準備工作:
* 需要libc2.3.2或更高版本的支持(可用ldd --查詢版本情況),如果需要啟用https,系統中還需具備庫文件,比如.so.0.9.8。
* 除Jexus獨立版外,系統需要安裝好mono 3.12.1 或更高版本(當前最新正式版本是mono 4.4.2.11)。
Mono的官方網址是:Home | Mono。
Mono的下載地址:… 。
Mono的具體安裝辦法,請參考 Linux.NET大本營 - .NET/.NET CORE跨平臺專業社區 上的有關文章。
A、獨立版安裝:
cd /tmp
wget /down/jexus-5.8.2-x64.tar.gz
tar -zxvf jexus-5.8.2.tar.gz
sudo mv jexus /usr/
sudo rm jexus-*
cd /usr/jexus
B、通用版安裝與更新:
安裝命令: curl /5.8.x/ | sh
更新命令: curl /5.8.x/ | sh
二、運行測試
復制完Jexus的文件后,Jexus就可以正常工作了。
所以,如果你的系統只要mono已經成功安裝,jexus就可以直接使用,甚至連進一步的配置也完全不需要。
如果是升級安裝,你只需要用運行 “sudo ./jws start”即可啟動JWS,如果不能正常工作,常常是新版本的配置方式可能有變,你可以查查jws.conf等配置文件。
強調:如果你服務器安裝有其它的WEB服務器,而且該服務正在運行,請停止它,以免造成端口沖突而造成Jexus無法啟動。
如果是全新安裝,請首先建立一個默認的網站文件夾:/var/www/,并在里面新建一個簡單的網頁,比如index.html。
然后在Jexus工作文件夾(/usr/jexus/)中執行“sudo ./jws start”命令(需要root身份),啟動jexus。
1、用cat log/jws.log,看看jws日志文件有沒有什么出錯的提示。
2、如果沒有錯誤提示,請訪問一下這臺服務器,看看是否有jexus的歡迎頁,網址是:服務器IP地址/info
3、如果已經在網站中放有首頁或其它網頁,你就可以訪問這些網頁了。
三、Jexus web 配置(不是必須的,這兒寫出來,是為了用戶更好的理解jexus的工作原理):
在 jexus 的工作文件夾中(一般是“/usr/jexus”)有一個基本的配置文件,文件名是“jws.conf”。
jws.conf 中至少有 和 兩行信息:
=#指的是存放網站配置文件放在這個文件夾中,可以使用基于jws.exe文件的相對路徑
=log#指的是jexus日志文件放在log這個文件夾中,可以使用基于jws.exe文件的相對路徑
重要提示:
必須為Jexus指定并創建兩個專用文件夾:一個是用于存放日志文件的“日志文件夾”,一個是存放網站配置文件的“網站配置文件夾”。
日志文件夾必須讓jexus系統有寫入權,因為它會在這兒寫入jexus系統日志、網站訪問日志等重要內容,安裝程序中已經建了一個文件夾,名字是log。
網站配置文件夾是用存放網站配置文件的地方(安裝包中已經建了這個文件夾,名字是),既使只有一個網站,也必須有這個文件夾,因為jexus啟動時會從這個文件夾讀取網站配置的內容。
即,默認情況下,Jexus的文件夾結構是:
/usr/jexus#JWS工作目錄
/usr/jexus/ #網站配置目錄
/usr/jexus/log#日志目錄
四、網站配置
Jexus支持多站點,可以用不同的端口、域名、虛擬路徑設置任意多的網站。
必須把所有網站配置文件放到jws.conf指定的網站配置文件夾內(這個文件夾常常jws工作目錄內的“”文件夾),這個文件夾除了網站配置文件用代理鏈接訪問禁止國內ip訪問的美國網頁,不能有其它任何文件,因為jexus會認為這兒的任何一個文件都代表著一個不同的網站。
每個網站有且只有一個配置文件,配置文件的文件名就是這個網站的名稱,比如 這個網站,配置文件名可以寫成“”,當然也可以寫成其它文件名,以便管理員容易記憶和識別,但要特別注意:文件名不能有空格!
一個網站可以擁有任意多的域名,不同網站不能有相同的域名用代理鏈接訪問禁止國內ip訪問的美國網頁,沒有域名的網站只能有一個,這個沒有域名的網站叫做“默認網站”,而一臺服務器最多只能有一個默認網站。
*** 再次強調:
1、網站配置文件的文件名不能有空格;
2、網站配置文件夾中只能有網站配置文件,不能有其它文件文件存在,因為這里的每一個文件,都被視為網站配置文件。
下面以為例,說說網站的配置
在網站配置文件夾中建立一個文件,這個文件的名稱應該有一些意義(至少要能讓服務器管理員了解這個配置文件是屬于哪一個網站的)
設這個網站的配置文件的文件名為:
sudo miv
A、網站配置的基本內容:
port=80# jexus WEB服務器偵聽端口(必填。當然可以是其它端口)
root=/ /var/www/# 網站URL根路徑(虛擬目錄)和對應的物理路徑,兩個路徑字串之間必須用空格分開(必填。既使這個網站是一個純粹的反向代理站,也得填)
#可選項
hosts=, # 網站域名(建議填寫),可以用泛域名,比如:*.(不填此項或只填一個“*”號表示這是默認網站,一個端口只能有一個默認站)
=index.aspx,index.htm# 首頁文件名,可以寫多個,用英文逗號分開(可以不填。因為JWS系統含有常用首頁名)
addr=0.0.0.0# 綁定到服務器本機的某個IP地址,默認情況下是所有地址,即“0.0.0.0”。
=mspx,ttt# 添加新出現的或自定義的ASP.NET擴展名(不建議填。多個擴展名用英文逗號分開,不加點號。系統含有常用擴展名)
B、最簡配置示例
最簡配置只需port和root兩項,如:
port=80
root=/ /var/www/
注:以上兩個條目的含義:“port=80”指本網站的服務端口是80(標準的WEB服務端口);“root=/ /var/www/”是指該網站的的虛擬根路徑是“/”,所對應的物理文件夾的絕對路徑是“/var/www/”,即網站的內容必須放到“/var/www/”這個文件夾中。
C、網站配置的高級選項 (閱讀建議:建議初學者跳過本小節)
網站配置的高級選項全是可選項,應該根據網站的實際需要選填。
靈活使用高級選項,可以架設出一臺與眾不同的、功能強大的服務器平臺或者服務器群組。
1、使用“URL重寫”功能
URL重寫是指WEB服務器將訪問者的請求URL路徑資源按指定的匹配規則解釋和匹配為另外的一個真實RUL路徑資源。
比如,希望別人訪問“.php”類型的文件時,服務器返回 /404.html 這個文件:
=^/.+?\.(asp|php|cgi)$ /404.html
# 格式:
# “=”的后面是兩部分阻成,兩部分之間由一個空格分開。
空格前是匹配的條件:用正則表達式描述URL的匹配條件。
空格后是匹配的目標:指的是如果用戶訪問的路徑合乎前面的匹配條件,服務器將以哪個規則回應。
又如:
把“/bbs”解析為“/bbs/index.aspx”,把“/bbs/file-1” 匹配為 “/bbs/show.aspx?id=1”:
=^/bbs$ /bbs/index.aspx
=^/bbs/file-([0-9]{1,6})$ /bbs/show.aspx?id=$1
格式解釋:的等號后含有兩部分內容,用空隔分開。前半部分是一個正則表達式,用于描述需要URL重寫的(用戶瀏覽器中的)url路徑樣式,后半部分是當用戶的URL合乎前面的正則表達式時,JWS應該重寫和訪問的真實URL路徑。
2、禁止或允許某IP或IP段訪問網站
A、只允許某些IP地址訪問網站(白名單功能)
默認情況下,允許所有IP地址訪問。如果手工設置IP地址白名單,那么,白名單之外的IP地址會自動歸入黑名單。
配置格式,形如:
=1.2.3.*
=2.2.3.3
B、禁止某IP或某IP端訪問網站(黑名單功能)
默認情況下,本配置為空。如果手工添加需要禁止訪問的IP地址(段),必須合乎一個規則:黑名單必須是白名單的真子集。
配置格式,形如:
=111.222.111.*
=101.201.1.132
3、禁止訪問某文件夾及其子文件夾中的內容
=網站文件夾路徑的URL路徑,如 “/”或 “~/”,多個路徑,用英文逗號分開
4、是否對請求的URL等進行安全檢測
本選項默認是true,即需要檢查,除非你的確需要關掉這個選項,否則可以不填,格式如下:
=false
(關掉本項可以提高服務器速度,但就安全而言,不建議關掉它)
5、(無文件)功能
=/mvc/.aspx
(注:這是Jexus特有的功能,指的是如果服務器不存在用戶要訪問的文件,服務器將使用什么文件應答。)
(提示:路由后,原RUL路徑會存貯在Jexus特有一個服務器變量“X-Real-Uri”中)
(技巧:用這個功能,或者再加上URL 功能,你完全可以把URL路徑與真實路徑隔離開來,達到信息隱藏和簡化URL的作用。)
6、NOLOG(無日志)功能
nolog=yes
(注:禁用網站日志功能會提高WEB服務器系統的的處理速度,但不足也是明顯的,就是你無法詳細了解網站的訪問情況了)
7、長連接開關
=true
注:默認使用長連接,可以不填。
8、反向代理功能
= /abc/ :890/abc/
參數的值由本站RUL根路徑和目標網站URL根路徑兩部分組成,之間用空隔分開。
*技巧:反向代量的目標地址可以有多個,用英文逗號分隔,如:
=/abc/ 192.168.0.3/abc/,
這時,當用戶訪問/abc/時,jexus就會隨機選擇一臺服務器進行訪問,達到負載均衡或服務器集群的效果。
9、接受FAST-CGI提供的服務
對于TCP連接:
.add=需要fast-cgi處理的文件擴展名|tcp:fast-cgi服務的IP地址:端口
如:.add=php,php3|tcp:127.0.0.1:9000
對于unix :
.add=需要fcgi處理的文件擴展名|:路徑
如:.add=php,php3|:/tmp/
10、啟用gzip壓縮功能
=true # 默認已啟用
解釋:啟用這個功能后,當用戶訪問“.htm”“.js”等文件時,Jexus會將這些文件進行GZIP壓縮后發送給用戶瀏覽器,這樣,可以節約更多的網絡帶寬。
11、讓Jexus的工作進程和網站工作于指定的用戶權限(身份)下
在jws.conf中,添加一句:httpd.user=系統中已經存在的一個用戶名,如httpd.user=www-data
12、讓Jexus的工作進程和ASP.NET網站工作在指定的ASP.NET版本環境中
在jws.conf中,添加一句:=版本號,如:=v4.0.30319
注:本項配置只適合.6及以下低版本。
13、啟用“ASP.NET前置高速緩存”,提高網站ASP.NET應用的反應速度,減小服務器壓力
這是Jexus特有的功能。功能很強勁、很實用。
方法是:在需要啟用WEB平臺級高速緩存的ASPX頁面中加入“”一句就行了,其中“60”是超時時間,單位為秒。