JSP环境配置:Resin+iis 整合及多站点配置

来源:互联网 发布:贵州省2017旅游数据 编辑:程序博客网 时间:2024/05/02 06:11

想在IIS上部署JAVA应用,找到一篇不错的文章,转过来,可能以后会用到。


本人亲测的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/csjava.com"/>
保存——重启resin 完成。
注意,在上面的配置中,只配置了主域名 csjava.com 的访问,如果需要多域名访问如 www.csjava.com
或者更多的域名访问需要在<web-app id="/" document-directory="d:/wwwroot/csjava"/> 的上面
加入别名:
<host-alias>www.csjava.com</host-alias>
即可,每一行一个别名。
在不同的resin 版本中 resin.conf 的配置 方法是不一样的。但只要明确,每一个站点的配置其实就是
从 站点名称开始 也就是 <host id= 的上一行,到 /host> 结束。
如果有不对的地方,请朋友指出。
(此次的测试:我不需要设置虚拟目录就能正常的访问JSP站点!呵呵,本文由资料分享网(www.ppkao.com)黑帅供稿)

原创粉丝点击