平臺上jsp虛擬主機環境的架設——windows2003+iis6+j2sdk1.4.2+resin2.1.16
.abu. at patching.net
今天,我生日,自己記性也不太好,順手寫一篇文章,省得不小心忘了。
我通常在windows上工作,這次要架設jsp虛擬主機運行環境,查看了一下網上所能找到的資料,基本沒有能用的,因為我需要的是能夠使iis同時既支持.asp又支持.jsp而且又可以做虛擬主機。
互相隔離,且運行在80端口。反正搜索出一堆,參考一下,自己搞吧。
一個一個找,這里面需要很多東西,不要怕麻煩,先準備好:
1、操作系統,我工作的環境是window2003中文版。
2、web服務器,我使用的是系統自帶的iis6。
3、java處理平臺,這里用的是java 2 sdk,se v1.4.2_06版。
4、jsp/servlets運行平臺,我選擇的是resin 2.1.16版,因為據說resin比tomcat運行效率高10倍以上,而關于
resin的版本需要注意的是,我聽說resin 2.x屬于免費版本,而3.x則是收費版本,所以選擇resin 2.1.16版。呵呵。
沒東西了,開始。
一、安裝java 2 sdk
不做java開發,安裝一個標準環境就可以了,去java.sun.com,網頁右邊有快速導航,直接去下載好了,有中文版的。
我的安裝文件名是:j2sdk-1_4_2_06-windows-i586-p.exe ,不提供url了,自己找去。
運行安裝,出現界面:
然后選擇安裝路徑,全部安裝好,自己操作,很簡單的。
我裝在c:/jdk目錄下。
接下來設置環境變量,這一步很重要,別忘了:
java_home = c:/jdk
classpath = c:/jdk/lib/tools.jar;c:/jdk/lib/dt.jar
path 路徑里添加 c:/jdk;c:/jdk/bin
二、安裝jsp/servlets運行平臺,resin
哪里找?下載嘛,去,上去就找download,下載最新版本就好了。
我用的文件名:resin-2.1.16.zip,解壓縮到c:/resin目錄
記得立即做好下面這一步,設置resin的環境變量,我總是在這里忘了,最后系統找不到resin在哪里,當然不成功了。
resin_home = c:/resin
接下來我們繼續,運行c:/resin/bin/httpd.exe
這時候等待,然后出來了2個窗口,仔細看清楚。需要注意的是,啟動resin web 服務器和關閉服務器
都要使用小的這個窗口來操作,不要直接把后面的那個大的窗口給咔嚓掉哦。
這時候,resin服務的終端輸出上可以看到,http listening to *:8080
這表明resin自帶的web服務已經運行在本機的8080端口上了。
驗證一下:
到這里,resin服務器已經架設完畢,如果只自己做測試jsp或者服務器跑這么一個網站的話
完全足夠用了。當然,總是訪問8080端口也不是很方便,自己可以手工修改一下。
打開c:/resin/conf/resin.ini文件:
查找<http port='8080'/>,這個是修改端口的
修改站點默認目錄也有2種改法,現在系統用的是c:/resin/doc下的內容
在配置文件里面只要寫相對路徑doc就可以了。
也就是<doc-dir>doc</doc-dir>中間的doc這個地方。
看見沒有?
是的,另外<http port='8080'/>這里修改端口就可以了。
但是、、、 呵呵,誰讓我還不滿足呢。
三、將resin掛接進iis
我先把iis6裝起來,win2003的好處就是不用的東西平時全都不開,呵呵,真不錯。
按步驟進行:
在c盤建立c:/web/jspsite目錄。這個就是jsp網站的主目錄。
然后在目錄下創建一個測試用的test.jsp文件。
輸入以下內容:
<html>
<head>
<title>jsp simple example</title>
</head>
<body>
<% out.println("hello, world!"); %>
</body>
</html>
接著,在c盤建立c:/web/dllrun目錄。
把c:/resin/libexec目錄下的isapi_srun.dll 復制到c:/web/dllrun目錄下。
至于為什么要把dll復制過去,原因就是jsp的解析是要通過resin提供的第三方的isapi接口進行的。
平時客戶端提交url的時候,只要發現是.jsp,iis將把.jsp丟給iis_srun.dll來執行。
后面這個目錄還要再用,繼續往下走:
啟動iis6.0,首先在web服務擴展里面添加允許.jsp后綴的web服務擴展。
擴展名什么都隨意填寫,我這里輸入jsp。
這是windows2003里面iis6.0增強的安全功能,你可以允許服務器上有哪些服務擴展是允許的,哪些是禁止的。
允許jsp。
為了看得更清楚,我們建立一個新的站點。
打開站點屬性,在isapi篩選器里面添加新的篩選器,名稱隨意,這里輸入jsp,
再輸入可執行文件,也就是剛才說的resin掛接iis用的isapi過濾器,輸入
c:/web/dllrun/isapi_srun.dll
確認后,要注意一點,就是剛剛掛接進去的dll不會立即生效,優先級也顯示*未知*
沒有關系,不用理會。繼續往下走。
下面我們需要做的就是比較重要也很復雜的事情了,也就是修改resin的配置文件。
仔細研究c:/resin/conf/samples下的配置文件的參考,
尤其是要研究iis.conf 和 virtual_host.conf
下面說一下我的計劃,我計劃是這樣,建立一個帶主機名的網站,這樣來模擬真實服務器
環境中,虛擬主機的情況。
那么我計劃建立一個jsp網站,abu.com 指向我的ip 127.0.0.1
而127.0.0.1直接訪問,是iis默認的asp網站。
如果這兩個都能訪問,那么表明,我們的目的已經達到了。
為了能夠在本地實現訪問abu.com的時候能夠解析到127.0.0.1 我修改本機的hosts文件
接下來,我修改c:/resin/conf目錄下的配置文件resin.conf
這里非常關鍵,但其實最重要的就兩個地方。
將<doc-dir>注釋掉,將resin自帶的8080端口運行的服務注釋掉<http port='8080'/>
加入<http-server app-dir='c:/resin/doc'> 這里的app-dir是缺省路徑,假如resin自帶的web
運行的話,缺省就是這個目錄。
和下面這里:
仔細看<host>中間的這部分,這是建立虛擬主機的關鍵,每次增加虛擬主機就需要修改這個部分,
每個站點用<>括起來。
配置文件基本配好了。
下面添加一個resin.ini文件到先前建立的dllrun目錄
添加內容
resinconfigserver localhost 6802
cauchostatus yes
意思就是當調用isapi_srun.dll的時候讀取相關配置
回到iis里面,將主機頭名添加進去。
給虛擬主機用戶添加賬號。
加入guests組
然后給對應的目錄設定權限:
給c:/web/jspsite目錄添加剛才用戶的權限,注意需要給讀寫都給。
給c:/web/dllrun目錄剛才那個用戶的讀權限:
在iis6.0里面的應用程序池中間添加一個新的池
名字叫jspapppool,然后給這個池 應用程序池標識給予system權限。
其實這里可以給更低一點的權限的,有心的朋友可以自己研究一下。
把jsp的網站加入到這個池中方便集中管理。
在jsp的網站上添加一個虛擬目錄,目錄名為scripts,并且給予可執行的權限。
最后別忘了給這個網站的運行權限設定為剛才的jsp_user用戶。
重啟resin,重啟iis。
檢查resin有沒有掛接進iis的辦法就是看isapi篩選器
如果狀態是綠色箭頭,表示已經被系統掛接成功。
然后瀏覽abu.com訪問test.jsp文件
而asp網站也同時可以運行
搞定收工。
新聞熱點
疑難解答
圖片精選