在这个不大的空间里 我能给自己做主

Windows 2003 搭建jsp

上一篇 / 下一篇  2007-10-14 16:04:11 / 个人分类:操作系统

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!

搞定收工。


TAG: jsp

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-07-26  
  12345
6789101112
13141516171819
20212223242526
2728293031  

数据统计

  • 访问量: 1150
  • 日志数: 25
  • 建立时间: 2007-06-26
  • 更新时间: 2008-01-25

RSS订阅

Open Toolbar