|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2006-02-23, 01:12 PM | #1 |
榮譽會員
|
Windows2003平台上JSP虛擬主機環境的架設
Windows2003平台上JSP虛擬主機環境的架設
我通常在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網站也同時可以執行 |
__________________ |
|
送花文章: 3,
|