热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Win2003平台上jsp虚拟主机环境的架设(IIS6+J2SDK+resin)

今天有客户找我配置服务器,要求asp+php+jsp运行环境,理论上我不建议同事跑jsp,一般windows下都是asp+php下。而linux下对asp的支持又不好

平台上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文件:

查找,这个是修改端口的

修改站点默认目录也有2种改法,现在系统用的是c:\resin\doc下的内容

在配置文件里面只要写相对路径doc就可以了。

也就是doc中间的doc这个地方。

看见没有?

是的,另外这里修改端口就可以了。

但是、、、 呵呵,谁让我还不满足呢。

 

三、将resin挂接进iis

我先把iis6装起来,win2003的好处就是不用的东西平时全都不开,呵呵,真不错。

按步骤进行:

在c盘建立c:\web\jspsite目录。这个就是jsp网站的主目录。

然后在目录下创建一个测试用的test.jsp文件。

输入以下内容:






<% out.println("hello, world!"); %>

 

接着,在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

这里非常关键,但其实最重要的就两个地方。

注释掉,将resin自带的8080端口运行的服务注释掉

加入 这里的app-dir是缺省路径,假如resin自带的web

运行的话,缺省就是这个目录。

和下面这里:

仔细看中间的这部分,这是建立虚拟主机的关键,每次增加虚拟主机就需要修改这个部分,

每个站点用<>括起来。

配置文件基本配好了。

下面添加一个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网站也同时可以运行

搞定收工。


推荐阅读
  • 本文介绍如何在Linux服务器之间使用SCP命令进行文件传输。SCP(Secure Copy Protocol)是一种基于SSH的安全文件传输协议,支持从远程机器复制文件到本地服务器或反之。示例包括从192.168.45.147复制tomcat目录到本地/home路径。 ... [详细]
  • 本文探讨了在Windows Server 2008环境下配置Tomcat使用80端口时遇到的问题,包括端口被占用、多项目访问失败等,并提供详细的解决方法和配置建议。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 本文探讨了如何优化和正确配置Kafka Streams应用程序以确保准确的状态存储查询。通过调整配置参数和代码逻辑,可以有效解决数据不一致的问题。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • 本文将深入探讨PHP编程语言的基本概念,并解释PHP概念股的含义。通过详细解析,帮助读者理解PHP在Web开发和股票市场中的重要性。 ... [详细]
  • 本文深入探讨了HTTP请求和响应对象的使用,详细介绍了如何通过响应对象向客户端发送数据、处理中文乱码问题以及常见的HTTP状态码。此外,还涵盖了文件下载、请求重定向、请求转发等高级功能。 ... [详细]
  • 云计算的优势与应用场景
    本文详细探讨了云计算为企业和个人带来的多种优势,包括成本节约、安全性提升、灵活性增强等。同时介绍了云计算的五大核心特点,并结合实际案例进行分析。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
author-avatar
摇身一变鄙人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有