Windows 2003 IIS 6.0 搭建可建虛擬機器的asp+.net+php+jsp+mysql+mssql_伺服器
來源:互聯網
上載者:User
1、預先安裝好windows 2003 打好sp2以上補丁 安裝好IIS6.0 並選擇asp和.net支援。IIS預設支援asp.net 1.1 asp.net 2.0可以在網上下載
安裝。
2、安裝php、mysql及mssql。網上很多正確介紹。這裡就不講了。重點講jsp的環境搭配。
3.1、安裝JAVA 2 SDK
我裝在D:\JDK目錄下。
接下來設定環境變數,這一步很重要,別忘了:
JAVA_HOME = D:\JDK
CLASSPATH = D:\JDK\LIB\tools.jar;D:\JDK\LIB\dt.jar
Path 追加D:\JDK;D:\JDK\bin
3.2、安裝jsp/Servlets運行平台[我裝的是RESIN3.1.1,不是RESIN PRO3.1.1哦]
解壓縮到D:\resin目錄
設定Resin的環境變數。
RESIN_HOME = D:\resin
運行D:\resin\bin\httpd.exe -install 將resin安裝到系統服務中。
複製我精簡過的resin.conf內容到D:\resin\conf\resin.conf裡
<resin xmlns="http://caucho.com/ns/resin"
xmlns:resin="http://caucho.com/ns/resin/core">
<class-loader>
<tree-loader path="${resin.home}/lib"/>
<tree-loader path="${server.root}/lib"/>
</class-loader>
<management path="${server.root}/admin">
</management>
<log name="" path="stdout:" timestamp="[%H:%M:%S.%s] "/>
<logger name="com.caucho" level="info"/>
<logger name="com.caucho.java" level="config"/>
<logger name="com.caucho.loader" level="config"/>
<dependency-check-interval>2s</dependency-check-interval>
<system-property mail.smtp.host="127.0.0.1"/>
<system-property mail.smtp.port="25"/>
<javac compiler="internal" args="-source 1.5"/>
<cluster id="app-tier">
<root-directory>.</root-directory>
<server-default>
<http address="*" port="8080"/>
<jvm-arg>-Xmx256m</jvm-arg>
<jvm-arg>-Xss1m</jvm-arg>
<jvm-arg>-Xdebug</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>
<watchdog-arg>-Dcom.sun.management.jmxremote</watchdog-arg>
<memory-free-min>1M</memory-free-min>
<thread-max>256</thread-max>
<socket-timeout>65s</socket-timeout>
<keepalive-max>128</keepalive-max>
<keepalive-timeout>15s</keepalive-timeout>
</server-default>
<server id="" address="127.0.0.1" port="6800"/>
<resin:import path="${resin.home}/conf/app-default.xml"/>
<web-app-default>
<cache-mapping url-pattern="/" expires="5s"/>
<cache-mapping url-pattern="*.gif" expires="60s"/>
<cache-mapping url-pattern="*.jpg" expires="60s"/>
<cache-mapping url-pattern="*.png" expires="60s"/>
<allow-servlet-el/>
<session-config>
<enable-url-rewriting>false</enable-url-rewriting>
</session-config>
</web-app-default>
<host id="" root-directory=".">
<web-app id="/" root-directory="d:\wwwroot\localhost"/>
<web-app id="/resin-admin" root-directory="${resin.home}/php/admin">
</web-app>
</host>
</cluster>
</resin>
三、將Resin掛接進IIS
按步驟進行:
在D盤建立D:\wwwroot\jspsite目錄。這個就是jsp網站的主目錄。
然後在目錄下建立一個測試用的test.jsp檔案。
輸入以下內容:
<HTML>
<HEAD>
<TITLE>Jsp Simple Example</TITLE>
</HEAD>
<BODY>
<% out.println("Hello, world!"); %>
</BODY>
</HTML>
接著,在D盤建立D:\wwwroot\scripts目錄。
把D:\resin\libexec目錄下的isapi_srun.dll複製到D:\wwwroot\scripts目錄下。
並將目錄使用權限設定成everyone的讀取和運行,類似php的目錄設定哈.你可以把他當成一回事兒去看.
啟動IIS6.0,首先在Web服務擴充裡面添加允許.jsp尾碼的Web服務擴充。
副檔名什麼都隨意填寫,檔案選擇D:\wwwroot\scripts\isapi_srun.dll
這是Windows2003裡面IIS6.0增強安全功能,你可以允許伺服器上有哪些服務擴充是允許的,哪些是禁止的。設定為允許。
開啟網站檔案夾屬性,不是網站的屬性哦.看清楚,在ISAPI篩選器裡面添加新的篩選器,名稱隨意,這裡輸入jsp,
再輸入可執行檔,D:\wwwroot\scripts\isapi_srun.dll
確認後,要注意一點,就是剛剛掛接進去的dll不會立即生效,優先順序也顯示*未知*
沒有關係,不用理會。繼續往下走。
在[主目錄]-[配置]-[緩衝ISAPI擴充]中添加.jsp的擴充.檔案選擇D:\wwwroot\scripts\isapi_srun.dll。
如果你不希望所有網站都支援jsp。這一步可以省去。以後在要支援jsp的網站屬性中填加就可以了。
下面我們需要做的就是比較重要也很複雜的事情了,也就是修改Resin的設定檔。
讓IIS+resin可以支援虛擬機器主機.(好多人要認真看啦~~我在網上找到教程貼裡很少有介紹虛擬機器主機這部分的.只是介紹單站的.)
建立一個jsp網站,www.servsd.cn 指向我的IP 219.146.55.180
建立一個jsp網站,t.servsd.cn 指向我的IP 219.146.55.180
接下來,我修改c:\resin\conf目錄下的設定檔resin.conf
這裡非常關鍵,但其實最重要的就一個地方。
複製
<host id="" root-directory=".">
<web-app id="/" root-directory="d:\wwwroot\localhost"/>
<web-app id="/resin-admin" root-directory="${resin.home}/php/admin">
</web-app>
</host>
為兩份,並做相應的修改。
<host id="www.servsd.cn" root-directory="."> [ID裡填IIS相應網站的主機頭,下同]
<web-app id="/" root-directory="d:\wwwroot\www"/> [root-directory裡填相應網站的根目錄]
<web-app id="/resin-admin" root-directory="${resin.home}/php/admin">
</web-app>
</host>
<host id="t.servsd.cn" root-directory="."> [同上]
<web-app id="/" root-directory="d:\wwwroot\t"/> [同上]
<web-app id="/resin-admin" root-directory="${resin.home}/php/admin">
</web-app>
</host>
在每個jsp的網站上添加一個虛擬目錄,目錄名為scripts,並且去掉所有許可權,只保留可執行。
重啟Resin,重啟IIS。
檢查Resin有沒有掛接進IIS的辦法就是看ISAPI篩選器
如果狀態是綠色箭頭,表示已經被系統掛接成功。
然後瀏覽www.servsd.cn和t.servsd.cn訪問test.jsp檔案。
其實你也可以下個探針。探針裡會顯示目前的目錄。兩個站的目錄不同的話虛擬機器主機就是配置成功了。
而asp網站也同時可以運行,php卻不可以了?想知道為什麼嗎?
resin.conf中的 <resin:import path="${resin.home}/conf/app-default.xml"/>
這裡調用了app-default.xml來確認檔案類型。把這裡和php相關的全刪掉就可以了。
如果還不行。就把conf目錄中所有檔案裡和php相關的刪掉。重啟IIS和Resin。OK!
搞定收工。