Windows平台上jsp虛擬機器主機環境的架設——Windows2003+IIS6+J2SDK1.4.2+Resin2.1.16

來源:互聯網
上載者:User
iis|js|window|windows2003|虛擬機器主機

平台上jsp虛擬機器主機環境的架設——Windows2003+IIS6+J2SDK1.4.2+Resin2.1.16
.abu. at Patching.net

發佈於:2005年11月03日

記錄於:2005年01月04日

今天,我生日,自己記性也不太好,順手寫一篇文章,省得不小心忘了。

我通常在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

哪裡找?下載嘛,去www.caucho.com,上去就找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網站也同時可以運行

 

搞定收工。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.