Win2003平台上jsp虚拟主机环境的架设(IIS6+J2SDK+resin)
平台上jsp虚拟主机环境的架设——windows2003+iis6+j2sdk1.4.2+resin2.1.16
.abu. at patching.net
今天,我生日,自己记性也不太好,顺手写一篇文章,省得不小心忘了。
我通常在windows上工作,这次要架设jsp虚拟主机运行环境,查看了一下网上所能找到的资料,基本没有能用的,因为我需要的是能够使iis同时既支持.asp又支持.jsp而且又可以做虚拟主机。
互相隔离,且运行在80端口。反正搜索出一堆,参考一下,自己搞吧。
一个一个找,这里面需要很多东西,不要怕麻烦,先准备好:
1、操作系统,我工作的环境是window2003中文版。
2、web服务器,我使用的是系统自带的iis6。
3、java处理平台,这里用的是java 2 sdk,se v1.4.2_06版。
4、jsp/servlets运行平台,我选择的是resin 2.1.16版,因为据说resin比tomcat运行效率高10倍以上,而关于
resin的版本需要注意的是,我听说resin 2.x属于免费版本,而3.x则是收费版本,所以选择resin 2.1.16版。呵呵。
没东西了,开始。
一、安装java 2 sdk
不做java开发,安装一个标准环境就可以了,去java.sun.com,网页右边有快速导航,直接去下载好了,有中文版的。
我的安装文件名是:j2sdk-1_4_2_06-windows-i586-p.exe ,不提供url了,自己找去。
运行安装,出现界面:
然后选择安装路径,全部安装好,自己操作,很简单的。
我装在c:\jdk目录下。
接下来设置环境变量,这一步很重要,别忘了:
java_home = c:\jdk
classpath = c:\jdk\lib\tools.jar;c:\jdk\lib\dt.jar
path 路径里添加 c:\jdk;c:\jdk\bin
二、安装jsp/servlets运行平台,resin
哪里找?下载嘛,去www.caucho.com,上去就找download,下载最新版本就好了。
我用的文件名:resin-2.1.16.zip,解压缩到c:\resin目录
记得立即做好下面这一步,设置resin的环境变量,我总是在这里忘了,最后系统找不到resin在哪里,当然不成功了。
resin_home = c:\resin
接下来我们继续,运行c:\resin\bin\httpd.exe
这时候等待,然后出来了2个窗口,仔细看清楚。需要注意的是,启动resin web 服务器和关闭服务器
都要使用小的这个窗口来操作,不要直接把后面的那个大的窗口给咔嚓掉哦。
这时候,resin服务的终端输出上可以看到,http listening to *:8080
这表明resin自带的web服务已经运行在本机的8080端口上了。
验证一下:
到这里,resin服务器已经架设完毕,如果只自己做测试jsp或者服务器跑这么一个网站的话
完全足够用了。当然,总是访问8080端口也不是很方便,自己可以手工修改一下。
打开c:\resin\conf\resin.ini文件:
查找<http port='8080'/>,这个是修改端口的
修改站点默认目录也有2种改法,现在系统用的是c:\resin\doc下的内容
在配置文件里面只要写相对路径doc就可以了。
也就是<doc-dir>doc</doc-dir>中间的doc这个地方。
看见没有?
是的,另外<http port='8080'/>这里修改端口就可以了。
但是、、、 呵呵,谁让我还不满足呢。
三、将resin挂接进iis
我先把iis6装起来,win2003的好处就是不用的东西平时全都不开,呵呵,真不错。
按步骤进行:
在c盘建立c:\web\jspsite目录。这个就是jsp网站的主目录。
然后在目录下创建一个测试用的test.jsp文件。
输入以下内容:
<html>
<head>
<title>jsp simple example</title>
</head>
<body>
<% out.println("hello, world!"); %>
</body>
</html>
接着,在c盘建立c:\web\dllrun目录。
把c:\resin\libexec目录下的isapi_srun.dll 复制到c:\web\dllrun目录下。
至于为什么要把dll复制过去,原因就是jsp的解析是要通过resin提供的第三方的isapi接口进行的。
平时客户端提交url的时候,只要发现是.jsp,iis将把.jsp丢给iis_srun.dll来执行。
后面这个目录还要再用,继续往下走:
启动iis6.0,首先在web服务扩展里面添加允许.jsp后缀的web服务扩展。
扩展名什么都随意填写,我这里输入jsp。
这是windows2003里面iis6.0增强的安全功能,你可以允许服务器上有哪些服务扩展是允许的,哪些是禁止的。
允许jsp。
为了看得更清楚,我们建立一个新的站点。
打开站点属性,在isapi筛选器里面添加新的筛选器,名称随意,这里输入jsp,
再输入可执行文件,也就是刚才说的resin挂接iis用的isapi过滤器,输入
c:\web\dllrun\isapi_srun.dll
确认后,要注意一点,就是刚刚挂接进去的dll不会立即生效,优先级也显示*未知*
没有关系,不用理会。继续往下走。
下面我们需要做的就是比较重要也很复杂的事情了,也就是修改resin的配置文件。
仔细研究c:\resin\conf\samples下的配置文件的参考,
尤其是要研究iis.conf 和 virtual_host.conf
下面说一下我的计划,我计划是这样,建立一个带主机名的网站,这样来模拟真实服务器
环境中,虚拟主机的情况。
那么我计划建立一个jsp网站,abu.com 指向我的ip 127.0.0.1
而127.0.0.1直接访问,是iis默认的asp网站。
如果这两个都能访问,那么表明,我们的目的已经达到了。
为了能够在本地实现访问abu.com的时候能够解析到127.0.0.1 我修改本机的hosts文件
接下来,我修改c:\resin\conf目录下的配置文件resin.conf
这里非常关键,但其实最重要的就两个地方。
将<doc-dir>注释掉,将resin自带的8080端口运行的服务注释掉<http port='8080'/>
加入<http-server app-dir='c:\resin\doc'> 这里的app-dir是缺省路径,假如resin自带的web
运行的话,缺省就是这个目录。
和下面这里:
仔细看<host>中间的这部分,这是建立虚拟主机的关键,每次增加虚拟主机就需要修改这个部分,
每个站点用<>括起来。
配置文件基本配好了。
下面添加一个resin.ini文件到先前建立的dllrun目录
添加内容
resinconfigserver localhost 6802
cauchostatus yes
意思就是当调用isapi_srun.dll的时候读取相关配置
回到iis里面,将主机头名添加进去。
给虚拟主机用户添加账号。
加入guests组
然后给对应的目录设定权限:
给c:\web\jspsite目录添加刚才用户的权限,注意需要给读写都给。
给c:\web\dllrun目录刚才那个用户的读权限:
在iis6.0里面的应用程序池中间添加一个新的池
名字叫jspapppool,然后给这个池 应用程序池标识给予system权限。
其实这里可以给更低一点的权限的,有心的朋友可以自己研究一下。
把jsp的网站加入到这个池中方便集中管理。
在jsp的网站上添加一个虚拟目录,目录名为scripts,并且给予可执行的权限。
最后别忘了给这个网站的运行权限设定为刚才的jsp_user用户。
重启resin,重启iis。
检查resin有没有挂接进iis的办法就是看isapi筛选器
如果状态是绿色箭头,表示已经被系统挂接成功。
然后浏览abu.com访问test.jsp文件
而asp网站也同时可以运行
搞定收工。
相关文章
访问网站提示An error occurred on the server when processing the UR
这篇文章主要介绍了An error occurred on the server when processing the URL. Please contact the system administrator提示的解决方法2015-08-08Windows 2008 IIS7.5中创建独立账号的FTP站点图文教程
这篇文章主要介绍了Windows 2008 IIS7.5中创建独立账号的FTP站点图文教程,IIS7.5的FTP功能已经非常强大了,需要的朋友可以参考下2014-08-08IIS7.5下301重定向的设置方法(及伪静态后301重定向出错案例)
301重定向,网络上的知识已经很多了,我在这第一次实践过程中,出现了一个算是低级的错误,但也比较典型,也许其它新手也会碰到,分享一下2013-08-08IIS报在服务器上找不到脚本语言''VBScript.encode''错误解决方法
这篇文章主要介绍了IIS报在服务器上找不到脚本语言'VBScript.encode'错误解决方法,其实这是一种服务器安全设置,一般虚拟主机都会禁用,需要的朋友可以参考下2014-07-07Win7 ASP连接数据库“未找到提供程序.该程序可能未正确安装”问题
今天调试了基于Access数据库的ASP应用,没想到IIS7报错,提示ADODB.Connection 错误 '800a0e7a' 未找到提供程序。该程序可能未正确安装2012-01-01LoadUserProfile 调用因下列错误而宣告失败: 拒绝访问的常见解决方法
今天突然看到服务器出现这样的错误提示,拒绝访问,肯定是权限问题,是哪里的权限问题呢。2011-01-01
最新评论