以文本方式查看主题 - 咿思舞论坛 (http://bbs.145829.com/index.asp) -- 『网站资源』 (http://bbs.145829.com/list.asp?boardid=8) ---- windows2003 jsp环境搭建 (http://bbs.145829.com/dispbbs.asp?boardid=8&id=455) |
-- 作者:admin -- 发布时间:2009/12/21 16:48:46 -- windows2003 jsp环境搭建 我通常在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网站也同时可以运行 搞定收工。 |