`
nlchycg
  • 浏览: 3492 次
  • 性别: Icon_minigender_1
  • 来自: 辽宁
社区版块
存档分类
最新评论

apache与多个tomcat集成 单台主机多站点场景

阅读更多
下载安装Apache2.2.4,选择下载windows平台安装包文件apache_2.2.4-win32-x86-no_ssl.msi。

下载tomcat Connector(jk1.2.6).

此处注意一定要下载与Apache版本匹配的jk。jk文件名后半部分名称反应Apache的版本,如:mod_jk-1.2.26-httpd-2.2.4.so其匹配的Apache为2.2.4,与本次安装的Apache版本一致。

正文:

在一台机器上配置多个站点,每个站点有自己独立的域名。假设服务器有两个站点www.123ip.com和www.124ip.com,两个站点分别运行在一个tomcat下。为方便说明,下面分别简称为www.123ip.com和www.124ip.com站点。

apache配置

将Tomcat Connector文件mod_jk-1.2.26-httpd-2.2.4.so拷贝到Apache安装目录Apache2.2\modules下。

在Apache配置文件Apache2.2\conf\httpd.conf末尾增加以下内容;

include "C:\Program Files\Apache Software Foundation\Apache2.2\conf\mod_jk.conf"

在conf文件夹下创建mod_jk.conf文件,内容为:

LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so
JkWorkersFile conf/workers.properties
#此处是指定分配给tomcat的请求 例如*.do *.jsp
JkMount /* controller

在conf文件夹下创建workers.properties文件,内容为:

#server
worker.list = controller
#========tomcat1========
worker.tomcat1.port=8020
worker.tomcat1.host=127.0.0.1
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1
#========tomcat2========
worker.tomcat2.port=8030
worker.tomcat2.host=127.0.0.1
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1

#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2
worker.controller.sticky_session=false
worker.controller.sticky_session_force=1
#worker.controller.sticky_session=1


然后配置conf\default文件夹下的httpd-vhosts.conf文件:

<VirtualHost *:80>
    ServerName www.123ip.com
    ProxyPass / http://www.123ip.com:8080/
    ProxyPassReverse / http://www.123ip.com:8080/
    DirectoryIndex index.jsp
</VirtualHost>
<VirtualHost *:80>
    ServerName  www.124ip.com
    ProxyPass / http://www.124ip.com:9090/
    ProxyPassReverse / http://www.124ip.com:9090/
    DirectoryIndex index.jsp
</VirtualHost>

以上是apache相关配置过程。

Tomcat1配置:

打开tomcat1目录下的conf\server.xml,找到下面的节点内容:

<Server port="8005" shutdown="SHUTDOWN">

<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->

<Connector port="8080" maxHttpHeaderSize="8192"

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

               enableLookups="false" redirectPort="8443" acceptCount="100"

               connectionTimeout="20000" disableUploadTimeout="true" />

中间忽略N多注释

<!-- Define an AJP 1.3 Connector on port 8009 -->

<Connector port="8020"

               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

<!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Catalina" defaultHost="www.123ip.com" jvmRoute="tomcat1">  



以上标注红色的配置,同一台机器的多个Tomcat不能重复使用以上端口,下半部分AJP的端口配置要和workers.properties的端口配置保持一致。请注意本次配置分别改了两个端口为8080和9090。

另创建Host节点:

<Host name="www.123ip.com" appBase="webapps" autoDeploy="true"  unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false" >
  <Context docBase="." path="/www.123ip.com" reloadable="true"/>
</Host>

以上第一处是配置站点域名和站点内容路径,下面增加的内容是配置站点的根路径。

Tomcat2配置:

打开tomcat2目录下的conf\server.xml,找到下面的节点内容:

<Server port="8006" shutdown="SHUTDOWN">

<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->

<Connector port="9090" maxHttpHeaderSize="8192"

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

               enableLookups="false" redirectPort="8443" acceptCount="100"

               connectionTimeout="20000" disableUploadTimeout="true" />

中间忽略N多注释

<!-- Define an AJP 1.3 Connector on port 8009 -->

<Connector port="8030"

               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

<!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Catalina" defaultHost="www.124ip.com" jvmRoute="tomcat2">  



以上标注红色的配置,同一台机器的多个Tomcat不能重复使用以上端口,下半部分AJP的端口配置要和workers.properties的端口配置保持一致。请注意本次配置分别改了两个端口为8080和9090。

另创建Host节点:

<Host name="www.124ip.com" appBase="webapps" autoDeploy="true"  unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false" >
  <Context docBase="." path="/www.124ip.com" reloadable="true"/>
</Host>

以上第一处是配置站点域名和站点内容路径,下面增加的内容是配置站点的根路径。

最后找到C:\Windows\System32\drivers\etc文件夹下的hosts文件,将其这行改为   127.0.0.1    www.123ip.com www.124ip.com

用eclipse把2个不同的项目分别部署在tomcat1和tomcat2上,然后从新启动apache和tomcat1和tomcat2,

打开浏览器输入http://www.123ip.com/test1/index.jsp 和 http://www.124ip.com/test2/index.jsp 测试是否显示不同的站点内容,到目前集成结束成功。

如果没有达到预期效果请检查一下几点配置:

conf\httpd.conf配置文件是否配置的两个Host是否配置了域名

host中JkMount /* controller配置tomcat对应的Service.xml中配置的域名是否一致

worker.properites中配置的tomcat实例端口是否和对应tomcat Service.xml文件中的AJP端口是否一致

tomcat Service.xml配置文件Host节点是否有<Context docBase="." path="" reloadable="true"/>配置内容

conf\default\httpd-vhosts.conf配置文件里 <VirtualHost *:80>节点下是够有DirectoryIndex index.jsp

分享到:
评论

相关推荐

    ApacheTomcat整合教程

    2. **虚拟主机配置**:为了在同一台服务器上部署多个网站(多站点场景),需要使用Apache的NameVirtualHost指令创建虚拟主机。在`httpd.conf`中,为每个站点定义一个VirtualHost,指定不同的ServerName(如`bbs.abc....

    Tomcat与Java_Web开发技术详解3.pdf

    3. **虚拟主机**:可以在同一台服务器上运行多个不同的Web站点。 综上所述,《Tomcat与Java Web开发技术详解》这本书不仅全面覆盖了Tomcat的基本使用方法,还深入探讨了Java Web开发中的高级技术,对于希望深入了解...

    WIN2003下IIS6集成一个或多个Tomcat的方法

    WIN2003服务器操作系统下,IIS6.0与Tomcat集成的实现方法主要涉及将IIS6.0作为前端web服务器,而将Tomcat作为后端应用服务器。集成的核心是使用isapi_redirect.dll,该动态链接库(DLL)由Apache的Jakarta项目组开发...

    tomcat6.0版本带实例

    5. **虚拟主机**:Tomcat6.0支持多个虚拟主机,这意味着可以在同一台服务器上部署多个独立的Web站点,每个站点有自己的域名或IP地址。 6. **连接器与协议**:Tomcat6.0使用不同的连接器处理不同的网络协议,如...

    IIS+Tomcat5.0_config

    在这个配置文件中,你会看到每个worker代表一个Tomcat实例,包含连接器的主机名、端口、工作线程池等信息。 3. "jk2.reg":这可能是一个注册表文件,用于导入IIS和mod_jk模块之间的必要设置。在Windows系统中,...

    apache 帮助文档

    9. **站点管理和虚拟主机**:如何在同一台服务器上托管多个网站,配置不同域名的虚拟主机。 10. **性能调优**:提供内存管理、并发连接数、请求处理速度等方面的优化建议。 11. **故障排查**:介绍常见问题的解决...

    [详细完整版]常用的服务器.ppt

    2. **多种产品和功能**:支持SSL技术,可以建立多个虚拟主机,满足不同域名和站点的需求。 3. **进程基础架构**:虽然这使得Apache在多处理器环境下效率略低,但在单处理器环境和中小规模应用中表现出色。 【Apache...

    三大WEB服务器对比分析(apache-apache-nginx)

    5. **虚拟主机支持**:允许在同一台服务器上托管多个域名。 6. **HTTP认证**:提供安全认证机制。 7. **集成Perl**:支持Perl脚本的集成。 8. **代理服务器功能**:内置代理服务器,支持HTTP代理和反向代理。 9. **...

    IPTV环境搭建解决方案.pdf

    IPTV环境搭建解决方案主要涉及的是构建一个基于Java、Tomcat、MySQL和OpenCMS的集成系统,以便实现多站点管理和跨终端访问的功能。以下是详细的知识点解析: 1. **Java JDK安装**:作为基础,首先需要安装Java JDK ...

    电子商务网站的运行环境配置.pptx

    这个过程涉及到选择合适的Web服务器软件、创建和管理Web站点、建立Web虚拟目录以及配置FTP站点。以下是这些关键知识点的详细说明: 1. **Web服务器软件的选择**: - **Microsoft IIS**:由微软开发,是Internet ...

    《Jetty6_指南书》

    - **多站点支持**: 在单一Jetty实例中配置多个虚拟主机。 - **域名绑定**: 如何配置域名绑定,实现多个网站的访问。 #### 十、管理服务器 - **服务器日志管理**: 如何配置日志记录,以便于故障排查。 - **实时状态...

    jetty 6 指南书

    9. **虚拟主机**:如何在Jetty上配置多个虚拟主机,实现多站点托管。 10. **管理服务器**:涵盖日志管理、请求日志、实时状态监控、关闭服务器以及JMX管理。 11. **配置JNDI**:介绍Java Naming and Directory ...

    Jetty权威指南.pdf

    Jetty支持在同一台物理服务器上托管多个虚拟主机。通过配置`VirtualHost`和`VirtualHost.ContextHandler`,可以实现基于域名或IP地址的不同Web站点。 #### 十、管理服务器 **10.1 服务器日志管理** Jetty提供了...

Global site tag (gtag.js) - Google Analytics