导读:本文以 IIS7.5 为例,记录在为 IIS 添加 jsp & PHP & Python 支持过程中的关键点。所有操作已经设置正确,工作正常。
一、支持 jsp & PHP
为便于服务器下所有网站无需重复设置,以下操作如无特殊说明的均请在 IIS 服务器顶层操作:
以下操作参考自: ,
原文有少量版本不匹配的问题,导致安装设置后无法工作,本文为操作实践过程中的修正整理记录。
因为 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=;%path%;%JAVA_HOME%\bin\;%JRE_HOME%\bin\;%JAVA_HOME%\lib\;%JRE_HOME%\lib\
注意:以上设置在 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
参考:
本文为操作实践过程的整理记录。
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 网站目录下。