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网站也同时可以运行

搞定收工。

时间: 2012-12-09

WIN2003+IIS6 PHP 5.3.8安装配置教程[图文]

一.安装好IIS 具体安装方法可查看:http://www.jb51.net/article/21274.htm. 二.下载并安装IIS FastCGI 下载地址:http://www.iis.net/download/fastcgi.选择 x86或者download x86,下载下来名称为 fcgisetup_1.5_rtw_x86.msi.安装后会在C:\WINDOWS\system32\inetsrv\目录下多出了5个文件fcgiconfig.js,fcgiext.dll,fcgiext.

PHP在64位Win2003和IIS下运行设置方法

PHP在64位Windows2003和IIS下运行 首先将IIS由64位模式修改为32位模式,只要一个命令即可: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 恢复为64位模式的命令: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32

WIN2003 IIS相关错误的解决方法

我碰到的主要问题是:"Server Application Unavailable 错误"."无法显示网页": 1.如果你的.NET版本是2.0及以上的话,那要注意了:win2003是默认安装1.1的,安装.NET2.0 后,可能会程序应用程序池冲突,具体查看这篇问题:服务器应用程序不可用(server application unavailable)的解决办法 , 用cmd指令打开这个路径:C:\WINDOWS\Microsoft.NET\Framework\v(

win2003 sp2+iis 6.0上部署.net 2.0和.net 4.0网站的方法

网站环境 IIS6.0,操作系统Windows server2003 sp2,服务器之前已经部署了.net 2.0和asp的网站,现在要部署新开发的.net 4.0网站.本来认为很简单,却遇到了很多问题,下面详细描述下过程: 1.官网下载.net framework4.0,下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=17718,或者到我们下载(http://www.jb51.net/softs/69112.html),

Windows2003下php5.4安装配置教程(IIS)

本文与<Windows2003下php5.4安装配置教程(Apache2.4)>(点击打开链接)为姊妹篇,只是php所用的服务器有点不同,这里一个是Apache2.4,一个是Windows2003自带的IIS服务器. 一.在Windows2003安装IIS 1.首先打开Windows2003的控制面板,查看是否有"管理工具",没有也不要紧,点击"添加或删除程序".有的话,可以直接进入第二步,IIS的配置. 2.在弹出的窗口,选择添加/删除Windows组

win2003 配置DNS、NAT及搭建IIS网站的方法

一.实验介绍 公司内部架设了一台DNS服务器,现在公司内部的员工想要访问公网上的网站, 必须通过公司内部的DNS服务器进行解析,请试图搭出一个这样的环境. 二.实验的网络拓扑图 注:以上所有虚拟机的操作系统均为WINDOWS Server 2003 R2 注:以上所有虚拟机的操作系统均为WINDOWS Server 2003 R2 三.实验的具体要求        ◆ 使用VMware或者Hyper-V搭建好如上图的实验环境.         ◆ 客户端能够正常访问公网上的ibm.com.   

Win2003 IIS浏览ASP提示无法找到该页的解决办法

鄙视下自己的,所有说越基础的越容易出问题 昨天LP在Win2003下安装了IIS想要测试一个ASP网站,结果运行时老是提示'无法找到该页',但是浏览html等静态页面是正常的,百思不得其解.我也帮忙调了半天,重新设置目录,改权限都没有用,还是一样的错误. 实在没办法了,上网搜索之,原来是因为IIS6.0中的Web服务扩展有几项是禁止的,把Active Server Pages.WebDAV.在服务器端的包含文件这三项设置为允许就行了,如图: 最后终于是一切正常了~~~ 这里我们简单的总结下解决方

windows2003 IIS6 部署MVC3和MVC4程序的方法

1.服务器上安装SP2 和 IIS6 2.安装.Net Framework3.5 SP1(完整安装包,包含2.0 2.0SP1,237MB那个安装包http://www.jb51.net/softs/75472.html) 3.安装.Net Framework4.0 http://www.jb51.net/softs/25944.html 4.安装WindowsServer2003-KB968930-x86-CHS.exe,PowerShell 2.0的补丁(下载地址:http://www.mi

Win2003下IIS以FastCGI模式运行PHP

由于PHP5.3 的改进,原有的IIS 通过isapi 方式解析PHP脚本已经不被支持,PHP从5.3.0 以后的版本开始使用微软的 fastcgi 模式,这是一个更先进的方式,运行速度更快,更稳定.本文介绍在IIS上以FastCGI模式运行PHP.我们以 Windows 2003 + IIS 6.0(windows2003自带) 为例. 第一步:下载安装的文件 1. FastCGI 版本 fcgisetup_1.5_x86_rtw.msi 2. MySQL 版本 mysql-5.5.19-wi

阿里云完美教程 Window2003 iis+mysql+php+zend环境配置

在我的使用过程中只遇到几个小问题: 一.HTTP 错误 403.1 – 禁止访问:执行访问被拒绝 原因是执行权限不够,解决的方法是: 解决方法一: 打开"管理工具"的"Internet 信息服务",右键选择"WEB站点属性"的"主目录"选项卡,把"执行许可"的选项从"无"改为"纯脚本"就好了. 解决方法二: 1.打开IIS设置 2. 在建虚拟目录或网站时注意以下设置

Windows 2003 IIS 不支持ASP问题的解决方法

特别注意:当我们在没有配置好iis的时候,不要安装补丁了,组件之类的东西,先把网站弄开通了,再安装补丁,尤其是.net组件. HTTP 错误 404 - 文件或目录未找到. Internet 信息服务 (IIS) 第一步,启用Asp,进入:控制面板 -> 管理工具 ->IIS(Internet 服务器)- Web服务扩展 -> Active Server Pages -> 允许 控制面板 -> 管理工具 ->IIS(Internet 服务器)- Web服务扩展 ->

Windows 2003 IIS 6.0 搭建可建虚拟机的asp+.net+php+jsp+mysql+mssql

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:\JDKCLASSPATH = D:\JDK\LIB\tools.jar;D:\JD

Windows下python3安装tkinter的问题及解决方法

最近尝试写python GUI界面,决定先从tkinter开始. 但是遇到了无法安装.执行pip install tkinter没有用,报了如下错误: C:\Users\zhengjie>pip install tkinter Collecting tkinter   Could not find a version that satisfies the requirement tkinter (from versions: ) No matching distribution found fo

基于bootstrap-datetimepicker.js不支持IE8的快速解决方法

实例如下: if (!Array.prototype.indexOf) Array.prototype.indexOf = function (elt /*, from*/) { var len = this.length >>> 0; var from = Number(arguments[1]) || 0; from = (from < 0) ? Math.ceil(from) : Math.floor(from); if (from < 0) from += len;

ios 不支持 iframe 的完美解决方法(兼容iOS&安卓)

最近做微信公众号页面,因为入口不同,需要把公共页面抽取出来,然后根据不同的值,传递给后台不同的入口.刚开始用iframe页面嵌套(第一次尝试使用),但发现iOS系统对iframe嵌套页面的高度和定位控制的不到位,具体表现为,当嵌套的子页面的高度大于父页面的高度,且子页面中有触发弹框事件时,这时,如果子页面高度远远大于父页面高度,就会出现弹框找不到的情况,其实可能是在视口以下,弹框的位置只是相对于子页面来定位,并没有相对于视口定位. 尝试了好多种方法,均不理想,而安卓系统则表现良好,于是想到,iO

MySQL中Union子句不支持order by的解决方法

本文实例讲述了MySQL中Union子句不支持order by的解决方法.分享给大家供大家参考,具体如下: 我对DB知之甚少,这问题只在MySQL遇到,不知道别的DBMS是不是也如此. 问题是这样的,我打算在一个表里获得与某一行记录相邻的两行,并且想通过union一起取出来,所以这么写: select id,title from subjects where id>#some_id# order by id limit 1 union select id,title from subjects

Tensorflow不支持AVX2指令集的解决方法

这几天研究了一下FCN(全卷积网络),由于电脑配置不够,用GPU训练直接报OOM(内存溢出)了, 于是转战CPU,当然,这样会很慢,之后会继续搞一下,减小一下网络的复杂度,对一些参数设置一波,看能不能正常跑下来. 记得一开始没有装GPU版的tensorflow时用CPU版本跑程序的时候总是报警告:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2,当时没有太在意,

Windows 2003 Enterprise Edition IIS6 .ASP目录执行缺陷

写这篇文章的前几天我发现了IIS6更大的漏洞,让我高兴了整整24小时.可惜的是那个漏洞是我手工配置出来的.实现方法是将ASP后辍改为JPG后辍,将JPG复制到IIS发布目录中,发现JPG中的ASP代码会正确执行.看我是如何配置出的错误,这个方法也可以用来配置后门.Windows 2003 Enterprise Edition是微软一款新推出的操作系统. Windows 2003 IIS6处理文件夹扩展名的时候出错,导致放在该目录中的JPG图片会自动执行其中的ASP代码.当JPG后辍的文件含有AS

Windows Server 2003服务器无法下载.exe文件的解决方法

今天架设了一台Windows Server 2003的网站服务器,发现打开网页后无法下载网站中的.exe文件,经过研究问题得以解决,拿来做个备忘. 解决方法非常简单,只需要在IIS中,将网站属性里的执行权限设置为"纯脚本"即可. 附:Windows Server 2003服务器无法下载EXE为后缀的文件解决办法 实际操作过程中只进行了第二步就成功了, 即:打开iis管理器,右键网站-点击属性-主目录,将执行权限设置为"无"或者"纯脚本",即取消&

apache下支持asp.net的实现方法

1.安装.netframework(具体版本可以自己选,建议装netframework3.5sp1) 2.安装mod_aspdotnet.so,这个支持apache2.2的不好找,附上http://xiazai.jb51.net/200912/tools/mod_aspdotnet-2.2.0.2006-setup-r2.rarapache2.0的,可以到网上找,很多. 3.修改配置 打开httpd.conf 在最后添加 复制代码 代码如下: LoadModule aspdotnet_modul