導讀:本文以 IIS7.5 爲例,記錄在爲 IIS 添加 jsp & PHP & Python 支持過程中的關鍵點。所有操作已經設置正確,工作正常。
一、支持 jsp & PHP
爲便於服務器下所有網站無需重複設置,以下操作如無特殊說明的均請在 IIS 服務器頂層操作:
以下操作參考自:https://blog.csdn.net/wnfc0729/article/details/673810 ,
原文有少量版本不匹配的問題,導致安裝設置後無法工作,本文爲操作實踐過程中的修正整理記錄。
因爲 Resin 可同時支持 jsp 和 PHP,而且我平常大多數使用的是 IIS ,而且 Resin 作爲中小型運用服務器也是足夠的,故希望通過 IIS 對它們進行同時解析,便於學習開發部署。
1.下載安裝 JDK
因爲 Resin 需要 JAVA 運行環境支持,故先針對你自己服務器操作系統先下載 JDK 進行安裝,我的是 Win2008R2,故下載 jdk-8u172-windows-x64.exe 進行安裝。
安裝完成後,在系統環境變量中添加 JDK 安裝位置的環境變量,如下設置:
JRE_HOME=C:\Program Files\Java\jre1.8.0_172
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_172
CLASSPATH=.;%JAVA_HOME%\lib\;%JRE_HOME%\lib\;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
PATH=%JAVA_HOME%\bin\;%JRE_HOME%\bin\;%JAVA_HOME%\lib\;%JRE_HOME%\lib\;%path%
注意:以上設置在 DOS 下使用 set 命令設置是無效的,請在我的電腦上單擊鼠標右鍵→屬性→高級→環境變量,裏面手動設置,如下圖:
2.下載安裝 resin
在:http://caucho.com/products/resin/download 選擇你需要的版本下載(此處有最新版本),建議下載 Resin Pro ,便於測試我選擇下載最新版本 resin-pro-4.0.61.zip,下載的是綠色安裝包,直接解壓即可,如解壓到:D:\resin-pro-4.0.61
添加安裝路徑到系統環境變量: RESIN_HOME = D:\resin-pro-4.0.61
3.複製 resin 文件
如果目錄 C:\inetpub\scripts 不存在則建立目錄,根據你的操作系統位數,將 D:\resin-pro-4.0.61\win64 或 D:\resin-pro-4.0.61\win32 下的所有文件複製到 C:\inetpub\scripts 下,我的系統 Win2008R2 是64位系統,故複製 D:\resin-pro-4.0.61\win64 下的文件。
關於 resin.ini 文件(引用內容,暫未經證實,我目前只是一個站點測試,沒建立這個文件。):
(官方的文檔上說只有需要建立多個站點的時候才必須使用 resin.ini 。如果只有一個站點就沒必要新建resin.ini。推薦使用)
如有需要,在 C:\inetpub\scripts 下新建 resin.ini 文件,文件內容爲以下兩行:
ResinConfigServer localhost 6802
IISPriority high
4.設置IIS
(此處以 IIS7.5 爲例,故需修改參考文檔中的操作)
配置 ISAPI 和 CGI 限制
打開 ISAPI 和 CGI 限制,點擊添加,
ISAPI 或 CGI 路徑:C:\inetpub\scripts\isapi_srun.dll
描述:爲了便於區分直接寫 resin
勾選:允許執行擴展路徑
確定保存。
添加處理程序映射
添加 JSP 支持:
打開“處理程序映射”,點擊右上角:添加模塊映射
請求路徑: *.jsp
模塊:選擇: IsapiModule
可執行文件:同ISAPI 或 CGI 路徑:C:\inetpub\scripts\isapi_srun.dll
名稱:爲了便於區分寫 resin-jsp
確定保存
出現彈出框,點“是”。
添加完成。
添加 PHP 支持:
打開“處理程序映射”,點擊右上角:添加模塊映射
請求路徑: *.php
模塊:選擇: IsapiModule
可執行文件:同ISAPI 或 CGI 路徑:C:\inetpub\scripts\isapi_srun.dll
名稱:爲了便於區分寫 resin-php
確定保存
出現彈出框,點“是”。
添加完成。
最後重啓 IIS 。
5.運行 resin
執行 resin 安裝目錄下的 setup.exe,檢查各項參數是否正確,按需要進行適當修改,我一般是直接默認設置,如下圖:
然後點擊:Install/Chang 按鈕,等待它自動安裝完成。
若要增加 resin 服務器,請設置 Services 爲:New Service ... ,即可增加第二個 resin 服務。
注意: jsp 和 php 網頁默認放置在: resin 安裝目錄下的 .\webapps\ROOT 內。但是,可將其合併到 IIS 網站目錄內:
打開 resin 安裝目錄下 D:\resin-pro-4.0.61\conf\resin.xml 文件,找到以下內容:
<host id="" root-directory=".">
<!--
- webapps can be overridden/extended in the resin.xml
-->
<web-app id="/" root-directory="webapps/ROOT"/>
</host>
將其中的: webapps/ROOT 修改爲你 IIS 網站絕對路徑,如 :
<host id="" root-directory=".">
<!--
- webapps can be overridden/extended in the resin.xml , webapps/ROOT
-->
<web-app id="/" root-directory="D:/webroot/site1"/>
</host>
之後重啓一次 Resin-app-0 服務,這樣JSP、PHP文件內就可以直接使用網站目錄下的相對路徑資源了。如:下面的 t.php內可以引用 <img src="\img\close.png" /> :
<html>
<head>
<title>test jsp & php </title>
</head>
<body>
Hello World!!!<img src="\img\close.png" />
<br/>
<?=phpinfo()?>
</body>
</html>
安裝完服務後,默認是不啓動的(隨操作系統自動啓動),打開系統服務,手動啓動一次 Resin-app-0 服務:
6.測試
首先測試 resin 服務本身是否運行正常:
打開瀏覽器,訪問:http://127.0.0.1:8080/ ,因爲安裝包自帶了一個 index.jsp 頁面,因此,訪問該鏈接後,如果你服務器8080端口未衝突,那麼應該可以看見這個“首頁”,如下圖:
若出現端口衝突,請打開安裝目錄下:.\conf\resin.properties ,找到:
# http : 8080
app.http : 8080
# app.https : 8443
web.http : 8080
# web.https : 8443
修改:app.http: 8080 和 web.http: 8080 爲可用端口,如:8011 ,
修改完成後保存,重啓 Resin-app-0 服務(參照上面第5條),重新用新端口訪問,即可看見 resin 默認的首頁。
其次,測試與 resin 與 IIS 配合是否正常:
測試 JSP:
打開瀏覽器,訪問你的 IIS 根目錄\index.jsp ,按照以上設置,應該能正確工作,如下圖:
測試 php :
用記事本編寫 t.php:
<html>
<head>
<title>test jsp & php </title>
</head>
<body>
Hello World!!!
<br/>
<?=phpinfo()?>
</body>
</html>
保存在 resin 安裝目錄下的 .\webapps\ROOT 內。
打開瀏覽器,訪問你的 IIS 根目錄\t.php ,按照以上設置,應該能正確工作,如下圖:
二、支持 Python
爲便於服務器下所有網站無需重複設置,以下操作請在 IIS 服務器頂層操作:
以下操作參考自以下兩處,
參考:http://www.runoob.com/python/python-install.html
參考:https://www.cnblogs.com/shenh/p/8028081.html
本文爲操作實踐過程的整理記錄。
1.安裝 python
鑑於 python 現在比較熱門,故此處略。
2.設置環境變量
添加 python 安裝路徑如:D:\Python27 ,到系統變量 path
3.檢查 IIS,需要安裝CGI
4.配置 ISAPI 和 CGI 限制
打開 ISAPI 和 CGI 限制,點擊添加,根據 python 安裝路徑設置:
ISAPI 或 CGI 路徑:D:\Python27\python.exe %s %s
描述:爲了便於區分直接寫 python
勾選:允許執行擴展路徑
確定保存。
5.添加處理程序映射
打開“處理程序映射”,點擊右上角:添加模塊映射
請求路徑: *.py
模塊:選擇:CgiModule
可執行文件:同ISAPI 或 CGI 路徑:D:\Python27\python.exe %s %s
名稱:爲了便於區分直接寫 python
確定保存
出現彈出框,點“是”。
添加完成。
6.測試Hello World!!!
用記事本編寫 t.py 保存,如下:
#!/usr/bin/env python
import cgi
print("Content-Type: text/html\n")
print("Hello World!!!")
在瀏覽器輸入服務器路徑訪問:
三、後記
至此,所有設置完成,再次提醒注意:
注意: jsp 和 php 網頁默認放置在: resin 安裝目錄下的 .\webapps\ROOT 內。但是,可將其合併到 IIS 網站目錄內。
注意:Python 網頁 *.py 應放置在 IIS 網站目錄下。