本人亲测的resin 和IIS 整合,并配置多站点,希望能对为此问题头疼的朋友有所提示。
系统:windows server 2003 IIS6,
软件:resin-3.0.26,jdk1.5.0_04(我升级为6啦).
首先 装有IIS6 的 2003 不用说了。
然后,安装 jdk-1_5_0_04 ,下载 jdk-1_5_0_04-windows-i586-p.exe ,双击开始安装,除选择安装路
径外,基本都是下一步。安装完成后,下载 resin-3.0.26 。下载后解压,我这里解压后的目录是
D:\resin,解压后进入 resin 的文件夹 双击 setup.exe.在弹出的框中 Resin home 输入 D:\resin,在
IIS/PWS 中输入 c:\inetpub\scripts 然后点击 OK ,安装过程会关闭IIS 。(注意:这里可能会报错,
因为默认的c:\inetpub\ 下没有scripts 文件夹,可以先到c:\inetpub下新建一个scripts 的文件夹,然
后再执行安装操作!或者直接复制isapi_srun.dll到scripts 文件夹,就不需要运行resin 的文件夹中的setup.exe啦!)
安装完成后,会看到 在 C:\Inetpub\scripts\下有 isapi_srun.dll 文件, 在IIS 的默认网站下会看到有名为scripts的虚拟目录路径为 c:\inetpub\scripts,在WEB服务扩展下会有一个名为Resin 的扩展,要求的文件为c:\inetpub\scripts\isapi_srun.dll .
其实关键是建立一个WEB服务扩展:文件为c:\inetpub\scripts\isapi_srun.dll并启用!
接下来 就要配置:
1,在 c:\inetpub\scripts\ 下新建一个 resin.ini 的文件,内容为:
ResinConfigServer localhost 6802
IISPriority high
(据resin 官方说明,如果要建立多站点,必须要有此文件,如果该服务器只有一个站点,无需此文件)
2,配置环境变量,
在我的电脑上单击鼠标右键→属性→高级→环境变量。
1)新建两个系统变量(单击下面的新建):
①变量名:JAVA_HOME
变量值:D:\jdk1.5.0_04(J2SDK安装的目录)
②变量名:classpath
变量值:.;%JAVA_HOME%\lib\tools.jar(注:前面是一个小数点加个分
号,直接复制就可以)
③变量名:RESIN_HOME
变量值:D:\resin(Resin安装的目录)
2)编辑系统变量Path
在变量值后面追加;%JAVA_HOME%\bin\
3,设置IIS。
如果利用依然主机系统开设JSP站点,该系统会自动帮你添加JSP相应的ISAPI扩展(只是目前
版本自动添加的DLL是isapi_redirect.dll,我们必须手动改为isapi_srun.dll,依然的下一版本将会升级
这一功能),非依然主机系统开设的站点,偶就忽略哒!
4,配置 resin C:\resin\conf\resin.conf
找到 如下一段
<!-- configures the default host, matching any host name -->
<host id="" root-directory=".">
<!--
- configures an explicit root web-app matching the
- webapp's ROOT
-->
<web-app id="/" document-directory="webapps/ROOT"/>
<resin:if test="${java.isJava5()}">
<!--
- Administration application /resin-admin
-
- password is the md5 hash of the password.
- localhost is true to limit access to the localhost
-->
<resin:set var="resin_admin_password" default=""/>
<resin:set var="resin_admin_localhost" default="true"/>
<web-app id="/resin-admin" document-directory="${resin.home}/php/admin"/>
</resin:if>
</host>
将 webapps/ROOT 修改为 c:/inetpub/wwwroot (c:/inetpub/wwwroot,为你的默认网站的目录)
好,到这里,我们就完全设置完了。
然后先运行net stop w3svc关闭IIS服务。
再运行net start w3svc重新启动IIS。
打开resin\bin\httpd.exe。
现在IIS6.0与resin已经成功整合了。我们可以将httpd.exe作为服务启动。那么,计算机启动的时候就会启动httpd.exe。
安装服务
c:\resin\bin\httpd.exe -install
取消服务
c:\resin\bin\httpd.exe -remove
顺便附一个测试页,将下面代码保存为一个.jsp 文件放到你的默认网站目录下,
<%@ page language="java" %>
<HTML>
<head>
<title>Hello World!</title>
</head>
<body bgcolor="#FFFFFF">
<%String msg="JSP Example";
out.println("<h1>Hello World!<br>世界,你好!</h1>");
%>
<%=msg%>
</body>
</HTML>
用虚拟主机开设多站点的重点必须得修改
c:\resin\conf\resin.conf文件
将默认的站点复制,并在下面粘贴一份:
<!-- configures the default host, matching any host name -->
<host id="" root-directory=".">
<!--
- configures an explicit root web-app matching the
- webapp's ROOT
-->
<web-app id="/" document-directory="webapps/ROOT"/>
<resin:if test="${java.isJava5()}">
<!--
- Administration application /resin-admin
-
- password is the md5 hash of the password.
- localhost is true to limit access to the localhost
-->
<resin:set var="resin_admin_password" default=""/>
<resin:set var="resin_admin_localhost" default="true"/>
<web-app id="/resin-admin" document-directory="${resin.home}/php/admin"/>
</resin:if>
</host>
将上面 蓝色内容分别修改如下:
<!-- configures the default host, matching any host name --> 修改为 <!-- hnjava.com-->
<host id="" root-directory="."> 修改为 <host id="hnjava.com" root-directory=".">
<web-app id="/" document-directory="c:/inetpub/wwwroot "/>
修改为
<web-app id="/" document-directory="d:\wwwroot\hnjava.com"/>
保存——重启resin 完成。
注意,在上面的配置中,只配置了主域名 hnjava.com 的访问,如果需要多域名访问如 www.hnjava.com
或者更多的域名访问需要在<web-app id="/" document-directory="d:\wwwroot\hnjava"/> 的上面
加入别名:
<host-alias>www.hnjava.com.com</host-alias>
即可,每一行一个别名。
在不同的resin 版本中 resin.conf 的配置 方法是不一样的。但只要明确,每一个站点的配置其实就是
从 站点名称开始 也就是 <host id= 的上一行,到 /host> 结束。
如果有不对的地方,请朋友指出。
(此次的测试:我不需要设置虚拟目录就能正常的访问JSP站点!呵呵,本文由资料分享网黑帅供稿)