文章詳情頁
Windows2003平臺上JSP虛擬主機環(huán)境的架設(shè)
瀏覽:3日期:2023-10-05 13:57:43
今天,我生日,自己記性也不太好,順手寫一篇文章,省得不小心忘了。 我通常在Windows上工作,這次要架設(shè)jsp虛擬主機運行環(huán)境,查看了一下網(wǎng)上 所能找到的資料,基本沒有能用的,因為我需要的是能夠使IIS同時既支持.asp又支持.jsp而且又可以做虛擬主機。 互相隔離,且運行在80端口。反正搜索出一堆,參考一下,自己搞吧。 一個一個找,這里面需要很多東西,不要怕麻煩,先準(zhǔn)備好: 1、操作系統(tǒng),我工作的環(huán)境是Window2003中文版。 2、Web服務(wù)器,我使用的是系統(tǒng)自帶的IIS6。 3、JAVA處理平臺,這里用的是JAVA;2;SDK,SE;v1.4.2_06版。 4、jsp/Servlets運行平臺,我選擇的是Resin;2.1.16版,因為據(jù)說Resin比Tomcat運行效率高10倍以上,而關(guān)于 Resin的版本需要注意的是,我聽說Resin;2.x屬于免費版本,而3.x則是收費版本,所以選擇Resin;2.1.16版。呵呵。 沒東西了,開始。 一、安裝JAVA;2;SDK 不做JAVA開發(fā),安裝一個標(biāo)準(zhǔn)環(huán)境就可以了,去java.sun.com,網(wǎng)頁右邊有快速導(dǎo)航,直接去下載好了,有中文版的。 我的安裝文件名是:j2sdk-1_4_2_06-windows-i586-p.exe;,不提供URL了,自己找去。 運行安裝,出現(xiàn)界面: 然后選擇安裝路徑,全部安裝好,自己操作,很簡單的。 我裝在C:/JDK目錄下。 接下來設(shè)置環(huán)境變量,這一步很重要,別忘了: JAVA_HOME;=;C:/JDK CLASSPATH;=;C:/JDK/LIB/tools.jar;C:/JDK/LIB/dt.jar Path;路徑里添加;C:/JDK;C:/JDK/bin 二、安裝jsp/Servlets運行平臺,Resin 哪里找?下載嘛,去www.caucho.com,上去就找Download,下載最新版本就好了。 我用的文件名:resin-2.1.16.zip,解壓縮到C:/resin目錄 記得立即做好下面這一步,設(shè)置Resin的環(huán)境變量,我總是在這里忘了,最后系統(tǒng)找不到resin在哪里,當(dāng)然不成功了。 RESIN_HOME;=;C:/resin 接下來我們繼續(xù),運行C:/resin/bin/httpd.exe; 這時候等待,然后出來了2個窗口,仔細看清楚。需要注意的是,啟動Resin;Web;服務(wù)器和關(guān)閉服務(wù)器 都要使用小的這個窗口來操作,不要直接把后面的那個大的窗口給咔嚓掉哦。 這時候,Resin服務(wù)的終端輸出上可以看到,http;listening;to;*:8080 這表明Resin自帶的web服務(wù)已經(jīng)運行在本機的8080端口上了。 驗證一下: 到這里,Resin服務(wù)器已經(jīng)架設(shè)完畢,如果只自己做測試jsp或者服務(wù)器跑這么一個網(wǎng)站的話 完全足夠用了。當(dāng)然,總是訪問8080端口也不是很方便,自己可以手工修改一下。 打開C:/resin/conf/resin.ini文件: 查找<http;port=’8080’/>,這個是修改端口的 修改站點默認(rèn)目錄也有2種改法,現(xiàn)在系統(tǒng)用的是C:/resin/doc下的內(nèi)容 在配置文件里面只要寫相對路徑doc就可以了。 也就是<doc-dir>doc</doc-dir>中間的doc這個地方。 看見沒有? 是的,另外<http;port=’8080’/>這里修改端口就可以了。 但是、、、;呵呵,誰讓我還不滿足呢。 三、將Resin掛接進IIS 我先把IIS6裝起來,Win2003的好處就是不用的東西平時全都不開,呵呵,真不錯。 按步驟進行: 在C盤建立C:/web/jspsite目錄。這個就是jsp網(wǎng)站的主目錄。 然后在目錄下創(chuàng)建一個測試用的test.jsp文件。 輸入以下內(nèi)容: <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;復(fù)制到C:/web/dllrun目錄下。 至于為什么要把dll復(fù)制過去,原因就是jsp的解析是要通過Resin提供的第三方的isapi接口進行的。 平時客戶端提交URL的時候,只要發(fā)現(xiàn)是.jsp,IIS將把.jsp丟給iis_srun.dll來執(zhí)行。 后面這個目錄還要再用,繼續(xù)往下走: 啟動IIS6.0,首先在Web服務(wù)擴展里面添加允許.jsp后綴的Web服務(wù)擴展。 擴展名什么都隨意填寫,我這里輸入jsp。 這是Windows2003里面IIS6.0增強的安全功能,你可以允許服務(wù)器上有哪些服務(wù)擴展是允許的,哪些是禁止的。 允許JSP。 為了看得更清楚,我們建立一個新的站點。 打開站點屬性,在ISAPI篩選器里面添加新的篩選器,名稱隨意,這里輸入jsp, 再輸入可執(zhí)行文件,也就是剛才說的resin掛接IIS用的ISAPI過濾器,輸入 C:/web/dllrun/isapi_srun.dll 確認(rèn)后,要注意一點,就是剛剛掛接進去的dll不會立即生效,優(yōu)先級也顯示*未知* 沒有關(guān)系,不用理會。繼續(xù)往下走。 下面我們需要做的就是比較重要也很復(fù)雜的事情了,也就是修改Resin的配置文件。 仔細研究C:/resin/conf/samples下的配置文件的參考, 尤其是要研究iis.conf;和;virtual_host.conf 下面說一下我的計劃,我計劃是這樣,建立一個帶主機名的網(wǎng)站,這樣來模擬真實服務(wù)器 環(huán)境中,虛擬主機的情況。 那么我計劃建立一個jsp網(wǎng)站,abu.com;指向我的IP;127.0.0.1 而127.0.0.1直接訪問,是IIS默認(rèn)的asp網(wǎng)站。 如果這兩個都能訪問,那么表明,我們的目的已經(jīng)達到了。 為了能夠在本地實現(xiàn)訪問abu.com的時候能夠解析到127.0.0.1;我修改本機的hosts 接下來,我修改c:/resin/conf目錄下的配置文件resin.conf 這里非常關(guān)鍵,但其實最重要的就兩個地方。 將<doc-dir>注釋掉,將Resin自帶的8080端口運行的服務(wù)注釋掉<http;port=’8080’/> 加入<http-server;app-dir=’C:/resin/doc’>;這里的app-dir是缺省路徑,假如Resin自帶的web 運行的話,缺省就是這個目錄。 和下面這里: 仔細看<host>中間的這部分,這是建立虛擬主機的關(guān)鍵,每次增加虛擬主機就需要修改這個部分, 每個站點用<>括起來。 配置文件基本配好了。 下面添加一個resin.ini文件到先前建立的dllrun目錄 添加內(nèi)容 ResinConfigServer;localhost;6802 CauchoStatus;yes 意思就是當(dāng)調(diào)用isapi_srun.dll的時候讀取相關(guān)配置 回到IIS里面,將主機頭名添加進去。 給虛擬主機用戶添加賬號。 加入Guests組; 然后給對應(yīng)的目錄設(shè)定權(quán)限: 給C:/web/jspsite目錄添加剛才用戶的權(quán)限,注意需要給讀寫都給。 給c:/web/dllrun目錄剛才那個用戶的讀權(quán)限: 在IIS6.0里面的應(yīng)用程序池中間添加一個新的池 名字叫jspAppPool,然后給這個池;應(yīng)用程序池標(biāo)識給予SYSTEM權(quán)限。 其實這里可以給更低一點的權(quán)限的,有心的朋友可以自己研究一下。 把JSP的網(wǎng)站加入到這個池中方便集中管理。 在jsp的網(wǎng)站上添加一個虛擬目錄,目錄名為scripts,并且給予可執(zhí)行的權(quán)限。 最后別忘了給這個網(wǎng)站的運行權(quán)限設(shè)定為剛才的jsp_user用戶。 重啟Resin,重啟IIS。 檢查Resin有沒有掛接進IIS的辦法就是看ISAPI篩選器 如果狀態(tài)是綠色箭頭,表示已經(jīng)被系統(tǒng)掛接成功。 然后瀏覽abu.com訪問test.jsp文件 而asp網(wǎng)站也同時可以運行 搞定收工。;
標(biāo)簽:
Windows系統(tǒng)
排行榜
