`

服务器环境搭建系列 I - Tomcat在IIS6.0中的部署

 
阅读更多

场景


需要在客户服务器上进行项目部署实施:
  • 客户提供的服务器只有Windows平台;
  • 客户可提供的二级域名有限,或无法提供二级域名;
  • 服务器所在网络监管很严格,一般只开放80服务端口(如需开放其他端口则需要较长审批流程),无法通过VPN或FTP方式进行后期系统维护;
客户服务器环境为:
  • Windows 2003
  • IIS 6.0(.Net Frameworks 2.0+)
项目部署环境要求:
  • Java 1.6+
  • Tomcat 6.0+
  • MySQL
解决方案

1.准备工作 

1.1 通过Google搜索解决方案:

    文章[1]所述仅供参考(你也知道国内的技术文章水平大致是怎样的),但:

    不建议采用 注册表 方式来配置 isapi_redirector.dll 的相关属性,而是使用properties文件形式。即将isapi_redirector.properties 文件放置在和 isapi_redirector.dll 同一目录下。这样便于多个站点使用不同的 isapi_redirector 配置。

    对于 workers.properties 和 uriworkermap.properties 建议详细参考 Apache Tomcat Connector 的文档[2]。

1.2 在本地搭建模拟部署实施环境 - IIS上搭建项目部署所需环境准备工作如下:
  • JDK 环境搭建 - 注意增加系统环境变量中JAVA_HOME
  • 建立网站根目录(一般用来放置所有静态资源) -  path\to\project-deploy\example.com
  • 建立项目应用服务文件夹 - path\to\project-deploy\system-packages
  • 下载 Tomcat 并放置在项目文件夹下   path\to\project-deploy\tomcat6-server
  • 下载 isapi_redirector.dll 并放置在项目文件夹下   path\to\project-deploy\isapi-redirector
最终目录结果如下图所示(建议在本地模拟环境及客户服务器部署环境中使用类似方式组织项目,便于后期维护):


2.模拟环境搭建 

2.1 建立 IIS 站点
在IIS中新建站点(如 www.example.com),注意打开『脚本执行权限』

并新建对应的应用程序池(如 example.com)

将新建站点指定应用程序池为 example.com

2.2 全局公共配置方式 - 添加IIS扩展的 isapi_redirector
在IIS的『Web服务扩展』中添加新的服务扩展 - 扩展名可自定义

将isapi_redirect.dll(可以是带有版本号的dll文件)加入,并将其设为『允许』状态
最终如下图所示

2.3 局部站点配置方式 - 在新建站点 example.com 中配置ISAPI筛选器
首先,删除新建 example.com 站点中所有不使用的 ISAPI 扩展

增加『ISAPI筛选器』。

刚建立完备后,kvm筛选器状态和优先级都处于“未知”状态。可参考Microsoft提供的相关帮助说明(红色线框部分

新建虚拟目录 - tomcat_srv,注意建立的虚拟目录名称需与 isapi_redirect.properties 中相对应

虚拟目录  tomcat_srv 物理路径需指向 isapi_redirector.dll 所在目录:

注意打开『可执行』权限

2.4 修改isapi_redirect.dll对应配置文件
主要修改上图所示部门内容,其中:
  • extension_uri - 对应IIS站点虚拟目录(如之前建立的虚拟目录tomcat_srv)下的isapi_redirect.dll;
  • log_file - 存储isapi_redirect.dll运行时log的绝对路径;
  • work_file、worker_mount_file - 对应相关配置文件的绝对路径;

2.5 workers.properties 和 uriworkermap.properties 配置
uriworkermap.properties的相关配置如下图所示:
主要是为了将所有uri请求进行划分,将不同请求分配给不同的tomcat worker处理(在workers.properties中定义的),
有些则直接交给IIS处理。比如第3行中的

    /=pm80

即是将直接域名请求交由 pm80 这个tomcat worker来处理,至于 pm80 是哪个tomcat,
则在下面的 workers.properties 的相关配置中定义:
很显然,pm80 这个 tomcat worker 是在本机(localhost)的 9000 端口通过
 ajp13 交互协议进行监听的一个tomcat server。其他 worker 也是类似。

另外就是,worker.list 列出了所有 worker 的名字,这些名字对应到每节

worker.<名字>.port=9000
worker.<名字>.host=localhost
worker.<名字>.type=ajp13
worker.<名字>.lbfactor=1

lbfactor用于负载均衡处理,在没搞透 tomcat connector 相关说明前,不建议使用其自带的 load balancer。

2.6 Tomcat 相关配置修改
如下图所示

注意
  1. 其中各个端口的分配(凡是 port 属性值都要仔细检查) - 是否被占用?
  2. <Context data-path="/pm81" ... /> 是与前面uriworkermap.properties中相对应的。


存在(遗留)问题

  • 没有及时总结,有些内容记不清楚,可以在实际中实验是否正确。


建议

  • 还是要及时总结吖,童鞋们!


参考

  1. 实站iis6.0+tomcat6.0+jk整合(用于初步了解大概怎么回事儿) -  http://hi.baidu.com/hfr6666/blog/item/fb76e8386057d82a96ddd8e4.html
  2. Apache Tomcat - IIS Howto(仅供参考,有些说法估计是为了省事儿 dummies,并不准确) - http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html
  3. Apache Tomcat Connector Documents(实际还是靠这个) - http://tomcat.apache.org/connectors-doc/index.html

工具



分享到:
评论

相关推荐

    apach-tomcat-6.0免费web服务器

    在安装和配置Apache Tomcat 6.0时,用户会遇到一个名为`apache-tomcat-6.0.exe`的可执行文件,这是Windows平台下的安装程序。运行这个文件,系统会引导你完成安装过程,包括选择安装路径、设置端口号等选项。安装...

    apache-tomcat6.0

    安装Apache Tomcat 6.0通常包括解压下载的`apache-tomcat-6.0.33`压缩包,设置环境变量如`CATALINA_HOME`,以及配置`conf/server.xml`文件以定义端口、虚拟主机和应用上下文路径。 **部署Web应用** Web应用程序通常...

    apache-tomcat-6.0版本配合MyEclipse

    你可以通过`conf/tomcat-users.xml`文件添加用户和角色,然后在Web应用的`WEB-INF/web.xml`中定义访问约束。 总之,Apache Tomcat 6.0与MyEclipse的结合为Java Web开发提供了一个高效的工作流。尽管现在有更先进的...

    apache-tomcat-6.0.27

    通过配置`tomcat-users.xml`文件,可以添加具有管理权限的用户,以便通过Web界面管理部署的应用。 **7. 安全性** 在生产环境中,确保对Tomcat进行适当的安全配置至关重要。这包括限制远程访问管理接口,加密敏感...

    iis6.0+tomcat6.0整合资源

    在IIS中,新建一个虚拟目录,指向Tomcat的Webapps目录,这样IIS就可以代理所有请求到Tomcat。 - **安装ISAPI Redirector** 从Apache官方网站下载并安装ISAPI Redirector,这个组件使得IIS能够转发特定的URL请求...

    apache-tomcat-6.0

    在本案例中,提供的压缩包文件是"apache-tomcat-6.0",这是一个非常古老版本的Tomcat,发布时间较早,但仍然可能对一些需要兼容旧系统或软件的用户有价值。Tomcat 6.0是在Java EE 5规范下开发的,支持Servlet 2.5和...

    apache-tomcat6.0 服务器

    这个版本是Tomcat系列的6.0版,它在当时的发布中提供了许多重要的功能和改进。 首先,Tomcat 6.0 支持Servlet 2.5和JSP 2.1规范,这些标准为开发人员提供了更强大的功能,比如动态内容生成、自定义标签库以及更灵活...

    apache-tomcat-6.0安装包

    在这个“apache-tomcat-6.0安装包”中,包含的是6.0.16版本的Tomcat,这是一个稳定且广泛使用的版本。 首先,让我们深入了解一下Tomcat的安装过程: 1. **下载**: 提供的"apache-tomcat-6.0.16.exe"文件是Windows...

    apace-tomcat-6.0

    文件名称列表中的`apache-tomcat-6.0.32`,这可能表示的是Apache Tomcat 6.0.32的安装包。在解压这个文件后,会包含一系列的目录和文件,如`bin`目录用于存放可执行文件,`conf`目录存储配置文件,`webapps`目录用于...

    tomcat6.0应用部署服务器

    【标题】:“Tomcat6.0应用部署服务器” 在IT领域,Tomcat6.0是一个广泛应用的开源Web服务器和Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)技术。Tomcat6.0是Apache软件基金会Jakarta项目的一部分...

    apach-tomcat-6.0

    在Eclipse中,Apache Tomcat 6.0常作为内置的Web服务器,用于本地测试和调试Java Web应用。由于Tomcat不需要复杂的安装过程,只需解压缩下载的文件包,即可开始使用,这大大简化了开发者的工作流程。以下是关于...

    apache-tomcat6.0-tomcat+配置教程

    通常,对于大多数用户,预编译的二进制版本(例如,`apache-tomcat-6.0.x.zip`或`.tar.gz`)就足够了。 2. **解压与环境变量配置** 解压缩下载的Tomcat包到你选择的目录。然后,为了能在命令行中使用`catalina`...

    apache-tomcat-6.0~7.0版本

    总的来说,Apache Tomcat 6.0和7.0是Java Web开发中不可或缺的工具,它们为开发者提供了稳定、高效的运行环境,并且与Eclipse等IDE的良好集成使得开发过程更加顺畅。理解并熟练掌握这两个版本的特点和配置,对于提升...

    Apache-tomcat-6.0.53 for Linux(Redhat/CentOS测试通过)

    在目录下有apache-tomcat-6.0.53文件夹,重命名为tomcat 2、修改环境变量 在目录/etc下修改profile文件 export CATALINA_HOME=/usr/local/tomcat export CLASSPATH=.:$JAVA_HOME/lib:$CATALINA_HOME/lib export PATH...

    apache-tomcat-6.0_win7_32位

    在Windows 7 32位系统上安装Apache Tomcat 6.0,你需要下载对应的版本,即“apache-tomcat-6.0.37”。这个压缩包包含了所有必要的文件,如bin目录下的可执行文件(用于启动和停止Tomcat)、conf目录下的配置文件(如...

    apache-tomcat-8.0.53-windows-x64和tomcat 6.0版本

    这里我们关注的是"apache-tomcat-8.0.53-windows-x64"和"tomcat 6.0"这两个版本。 1. **Tomcat 8.0.53**: 这是Apache Tomcat的一个具体版本,发布于2017年。Tomcat 8引入了许多新特性和改进,包括对Java EE 7标准的...

Global site tag (gtag.js) - Google Analytics