浅谈JSP虚拟主机环境在Windows平台上的架设

开发 后端
因为这次要求在Windows Server 2003平台上架设JSP虚拟主机运行环境,查看了一下网上所能找到的资料, 基本没有能用的,笔者需要的是能够使IIS同时既支持,ASP又支持,JSP而且又可以做虚拟主机,互相隔离,且运行在80端口。这里就简单谈谈JSP虚拟主机环境在Windows平台上的架设。

安装JSP虚拟主机所需要的软件:

1、操作系统: Window2003中文版

2、Web服务器: IIS6.0

3、JAVA处理平台: JAVA 2 SDK-SE v1.4.2_06

4、jsp/Servlets运行平台: Resin 2.1.16,因为据说Resin比Tomcat运行效率高10倍.

一、安装JAVA 2 SDK

由于这里不做JAVA开发,安装一个标准环境就可以了,可以去java.sun.com上下载好了. 我的安装文件名是:j2sdk-1_4_2_06-windows-i586-p.exe

JSP安装


然后选择安装路径,在这里我是装在C:\jdk目录下
设置环境变量,这一步很重要:
JAVA_HOME = C:\JDK
CLASSPATH=C:\JDK\LIB\tools.jar;C:\JDK\LIB\dt.jar

设置环境变量  


Path 路径里添加 C:\JDK;C:\JDK\bin

Path 路径里添加

二、安装jsp/Servlets运行平台,Resin
我使用的文件名:resin-2.1.17.zip,解压缩到C:\resin目录
记得立即设置Resin的环境变量,否则***系统找不到resin在哪里,就做不成功了.
RESIN_HOME = C:\resin  

设置Resin的环境变量

接下来运行C:\resin\bin\httpd.exe   

运行C路径

点击httpd.exe后等待,然后会出现2个窗口.
需要注意的是,启动Resin Web 服务器和关闭服务器, 都要使用小的这个窗口来操作,不要直接把后面的那个大的窗口给关掉哦。

这时,Resin服务的终端输出上可以看到,http listening to *:8080
说明Resin自带的web服务已经运行在本机的8080端口上了

利用IE测试一下效果:  

用IE测试一下效果  

用IE测试一下效果


到这里,Resin服务器已经架设完毕,如果只自己做测试jsp或者服务器跑这么一个网站的话完全足够用了

三、将Resin挂接进IIS
搭建好IIS6,将Resin挂接进IIS中去进行集中管理
在这里我把D:\jsp_site做为jsp网站的主目录
然后在目录下创建一个测试用的test.jsp文件
输入以下内容:





<% out.println("Hello, world!_www.ritto.cn"); %>


  

创建Test文件

 
接着,在C盘建立C:\jsp\dllrun目录
把C:\resin\libexec目录下的isapi_srun.dll 复制到C:\jsp\dllrun目录下
至于为什么要把dll复制过去,原因就是jsp的解析是要通过Resin提供的第三方的isapi接口进行的
平时客户端提交URL的时候,只要发现是.jsp,IIS将把.jsp丢给iis_srun.dll来执行  

执行JSP

 
继续:
启动IIS6.0,首先在Web服务扩展里面添加允许.jsp后缀的Web服务扩展  

启动IIS6.0

启动IIS6.0


这是Windows2003里面IIS6.0增强的安全功能,你可以允许服务器上有哪些服务扩展是允许的,哪些是禁止的,在这里选择允许JSP
接下来打开站点属性,在ISAPI筛选器里面添加新的筛选器,输入jsp,
再输入可执行文件,也就是刚才说的resin挂接IIS用的ISAPI过滤器,输入C:\jsp\dllrun\isapi_srun.dll

确认后,要注意一点,就是刚刚挂接进去的dll不会立即生效,优先级也显示*未知*

确认

这个不要紧的, 继续往下走
接下来就是修改Resin的配置文件
建议大家仔细研究C:\resin\conf\samples下的配置文件的参考,尤其是要研究iis.conf 和 virtual_host.conf
接下来建立一个带主机名的网站,以实现JSP虚拟主机的功能

在DNS域名控制面板中将www.jsp.com  指向本服务器的IP地址,用来访问本机的jsp站点
将www.asp.com  指向本服务器的IP地址, 以访问本机的asp站点
如果这两个都能访问,那么表明,我们的目的已经达到了
接下来修改c:\resin\conf目录下的配置文件resin.conf
这里非常关键,但其实最重要的就两个地方。

doc注释掉
将Resin自带的8080端口运行的服务注释掉  

注释掉8080端口服务

仔细看中间的这部分,这是建立虚拟主机的关键,每次增加虚拟主机就需要修改这个部分,每个站点用<>括起来 

建立虚拟机

#p#

配置文件基本配好了
下面添加一个resin.ini文件到先前建立的dllrun目录
添加内容
ResinConfigServer localhost 6802
CauchoStatus yes
意思就是当调用isapi_srun.dll的时候读取相关配置 

配置

回到IIS里面,将主机头名添加进去

添加主机头名

给虚拟主机用户添加账号

给虚拟主机用户添加账号

并将这个用户加入Guests组
然后给对应的目录设定权限:
给D:\jsp_site目录添加刚才用户的权限,注意需要给读写都给 

读写权限

给C:\jsp\dllrun目录刚才那个用户的读权限: 

读权限

在IIS6.0里面的应用程序池中间添加一个新的池
名字叫jsp,然后给这个池 应用程序池标识给予SYSTEM权限

添加一个新的池

其实这里可以给更低一点的权限的,有心的朋友可以自己研究一下
把JSP的网站加入到这个池中方便集中管理

管理池

在jsp的网站上添加一个虚拟目录,目录名为scripts,并且给予可执行的权限

***别忘了给这个网站的运行权限设定为刚才的jsp用户

权限设定

重启Resin,重启IIS
检查Resin有没有挂接进IIS的办法就是看ISAPI筛选器

重启IIS

如果状态是绿色箭头,表示已经被系统挂接成功
然后浏览www.asp.com访问test.asp文件(asp网站可以正常运行)

成功

浏览www.jsp.com(jsp网站也同时可以运行)  

jsp网站也同时可以运行

jsp网站也同时可以运行2


OK, JSP虚拟主机就完成啦...

【编辑推荐】

  1. JSP连接ORACLE数据库时注意的一些问题
  2. JSP中tomcat的SQL Server2000数据库连接池的配置
  3. 简单介绍Servlets和JSP的区别
  4. JSP include指令和include行为的区别
  5. JSP输出excel文档和中文乱码问题的解决
责任编辑:彭凡 来源: QZONE
相关推荐

2011-03-23 14:38:02

LAMP架设

2011-05-17 15:03:34

JSP

2011-02-25 12:29:25

Proftpd

2017-08-15 15:24:21

2011-03-09 16:17:21

CentOSLAMP

2009-07-01 14:43:23

支持JSP的虚拟主机

2009-05-05 11:00:09

windows端到端虚拟化

2010-06-09 17:46:53

2010-07-01 13:35:51

vsftpd

2009-07-01 18:25:50

架设JSP

2010-03-29 16:17:07

Nginx虚拟主机

2009-07-06 15:58:11

JSP程序

2009-09-04 11:03:42

2010-05-19 16:53:31

MySQL代码

2013-12-10 09:39:01

Windows平台Linux开发

2018-11-20 11:22:24

PHP虚拟主机

2014-06-09 10:40:05

Ubuntu 14.0虚拟主机

2016-08-10 08:14:13

虚拟主机海外主机

2017-04-05 14:43:20

虚拟主机故障

2010-07-13 15:23:10

vsftpd
点赞
收藏

51CTO技术栈公众号