`
lgl669
  • 浏览: 173490 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

配置Apache+Tomcat支持多个应用,即多个二级域名

阅读更多

1、   环境

Apache2.0.43.0

Tomcat 4.1.13

mod_jk-2.0.43

jdk 1.4

Windows 2003

关键文件位置:

Server.xml $tomcat_home\conf

Httpd.conf $apache_home\conf

Mod_jk.conf $tomcat_home\jk\

2、   假设背景

假设顶级域名 www.abc.com ,要架设 site1.abc.com site2.abc.com site1 site2 两个二级站点应用都在一台服务器上,假设对外 IP 100.100.100.100

3、   mod_jk 整合 Apache Tomcat

这个内容网上有很多介绍,也很简单,这里就不说了。

4、   增加 Tomcat 虚拟主机

打开 Tomcat server.xml 文件,修改默认的 host 段,类似如下:

  <Host name="site1.abc.com " debug="0" appBase="webapps"

       unpackWARs="true" autoDeploy="true">

        <Logger className="org.apache.catalina.logger.FileLogger"

                 directory="logs"  prefix="localhost_log." suffix=".txt"

        timestamp="true"/>

           <Context path="" docBase="d:\\workspace\\ site1 \\webapp\\" debug="0"

                                                  reloadable="true" crossContext="true">    

           </Context>

      </Host>

并增加 site2 虚拟主机,类似如下:

  <Host name="site2 .abc.com " debug="0" appBase="webapps"

       unpackWARs="true" autoDeploy="true">

        <Logger className="org.apache.catalina.logger.FileLogger"

                 directory="logs"  prefix="localhost_log." suffix=".txt"

        timestamp="true"/>

           <Context path="" docBase="d:\\workspace\\ site2 \\webapp\\" debug="0"

                                                  reloadable="true" crossContext="true">    

           </Context>

      </Host>

注意其中红色和蓝色加粗文字。

site2 其实就是拷贝 site1 再对蓝色部分进行一下修改。

当然根据你的具体情况,也可以增加或者修改其他的配置。

5、   增加 Apache 虚拟主机

打开 Apache httpd.conf 文件,在最后的 VirtualHost 部分增加类似如下内容:

<VirtualHost *:80>

ServerName site1.abc.com

DocumentRoot "d:\workspace\site1\webapp"

</VirtualHost>

<VirtualHost *:80>

ServerName site2.abc.com

DocumentRoot "d:\workspace\site2\webapp"

</VirtualHost>

这里 DocumentRoot 内容和 Tomcat Context docBase 一般来说是一致的。

找到 #NameVirtualHost * 这行,默认是注释掉的,修改为:

NameVirtualHost *:80

如果不打开这个配置, Apache 会报错“ default virtualhost overlap on port 80,the first has precedence

如果不加“ :80 ”,虽然也能运行起来,但 Apache 启动会报错。

VirtualHost *:80--mixing * prot and non-* ports with a NameVirtualHost address is not supported,proceeding with undefined results

6、   Hosts 配置

由于本机没有 DNS 解析,测试的时候,在浏览器地址栏输入 site1.abc.com ,是找不到服务器的。为了测试,我们需要增加这样的主机,让 Apache 能找到主机。

文本打开 windows\system32\drivers\etc\Hosts 文件,增加两行

127.0.0.1 site1.abc.com

127.0.0.1 site2.abc.com

启动 Apache Tomcat 服务,在地址栏分别敲入 site1.abc.com site2.abc.com 。应该是都可以访问了。

7、   实际部署

实际部署的时候,当然是不需要修改 Hosts 文件了,因为 Hosts 文件只是对本机有效。通常 ISP 提供商应该会有系统来定义二级域名转发,在那里定义二级域名对应的 IP

site1.abc.com--->100.100.100.100

stei2.abc.com--->100.100.100.100

这样,就可以实际访问两个二级域名了。但是 DNS 配置好后,可能不会立刻生效,据说是 2~24 小时生效。

8、   其他

虽然经过上面配置,基本上没什么问题了,但因为各个应用使用的技术不一样,可能会出现访问不正常的情况。

如果用了 struts 框架,发现 *.do 的请求没有响应,则修改 mod_jk.conf 文件,增加

JkMount /*.do ajp13

如果你希望默认页面是 login.jsp 而不是 index.jsp ,则修改 httpd.conf DirectoryIndex ,将 login.jsp 写到 index.jsp 前面

 

当然了,上面说的都是基本的配置,还有很多细节上的配置,其实我也不会。以上的配置,也是在朋友的帮助下做出来的,写下来,希望可以帮助需要的朋友。有不正确的地方,还请多多指正。

分享到:
评论

相关推荐

    linux 下 apache + tomcat 配置多个域名(包括二级域名)

    在Linux环境中,使用Apache HTTP服务器和Tomcat应用服务器配置多个域名(包括二级域名)是一项常见的任务,这可以实现一个服务器托管多个网站或者服务。Apache通常作为前端服务器处理静态内容,而Tomcat则作为后端...

    Apache+Tomcat集群配置

    负载均衡是指将客户端的请求均衡地分配给多个Tomcat实例,以降低单一Tomcat服务器的压力。 1. **安装Apache和Tomcat**: - 安装Apache时需指定主机地址或域名,邮箱可以任意填写。 - 假设需要两台机器进行负载...

    apache+Tomcat负载平衡设置详解

    Apache和Tomcat的组合在企业级应用服务器领域中广泛应用,主要得益于它们的高效性和灵活性。Apache作为静态资源处理的强者,而Tomcat则擅长处理Java Servlet和JSP应用。通过负载平衡设置,我们可以将流量有效地分发...

    ubuntu配置多个tomcat方法

    ### Ubuntu配置多个Tomcat的方法详解 #### 一、前言 在Linux环境下,特别是Ubuntu操作系统中,有时我们需要在同一台服务器上部署多个Tomcat实例来满足不同的应用需求或进行负载均衡等操作。本文将详细介绍如何在...

    Nginx+tomcat

    在现代互联网架构中,为了提高网站或应用的可用性和性能,通常会采用负载均衡技术来分发请求到多个服务器上执行。其中,Nginx 和 Tomcat 组合是一种非常常见的实现方式。本文将详细介绍如何通过 Nginx 和 Tomcat 来...

    二级域名配置工具和配置文件汇总

    在IT行业中,二级域名配置是一项常见的任务,尤其对于运行多站点或服务的企业和开发者来说,了解如何正确配置二级域名至关重要。本资源包是针对动态二级域名配置的一个集合,包括必要的工具和配置文件,旨在帮助用户...

    从安装和配置 Apache Tomcat 到部署和运行 Java Web 应用程序详细教学.rar

    - 配置虚拟主机:通过`server.xml`的`Host`元素,可以为Tomcat添加多个虚拟主机,每个主机对应不同的域名或IP地址。 - 日志管理:Tomcat的日志文件位于`%CATALINA_HOME%\logs`,可以通过修改`logging.properties`...

    Nginx+Tomcat在Windows下做负载均衡

    为了解决这些问题,可以采用负载均衡策略,即将流量分散到多个服务器上,确保即使单个服务器出现问题,其他服务器也能继续提供服务。Apache和Nginx都是常用的负载均衡解决方案,但Nginx因其轻量级、高效能和简洁配置...

    Web服务器三剑客运维配置实战 Nginx+JVM+Tomcat+HTTP协议 视频教程+笔记+课件+资料

    综上所述,该课程涵盖了HTTP协议的基础知识、Nginx进阶配置、JVM虚拟机运维实践以及Tomcat的运维部署等多个方面的内容,旨在帮助学员全面掌握Web服务器的运维技能。无论是对于初学者还是有一定经验的技术人员来说,...

    使用域名绑定tomcat

    当我们需要让多个网站或者应用在同一台服务器上运行时,就需要通过域名绑定来区分它们。下面我们将详细介绍如何通过修改Tomcat来实现域名的绑定。 首先,我们需要理解基本概念。域名是互联网上的地址,如...

    配置好的tomcat7.0服务器

    2. **虚拟主机配置**:同样在`server.xml`,通过`Host`标签可以配置多个虚拟主机,每个主机对应一个域名或IP,用于部署不同的Web应用。 3. **日志管理**:在`conf/logging.properties`中,可以定制日志级别和输出...

    tomcat server.xml 配置

    通过上述分析可知,`server.xml`配置文件是Tomcat运行的基础,通过对其中各元素的合理配置,不仅可以满足基本的应用部署需求,还能实现更为复杂的场景,如多域名绑定、项目映射等。掌握这些配置技巧,能够帮助开发者...

    Tomcat6配置SSL

    1. **支持多个SSL证书**: 如果你的应用需要支持多个域名,可以添加多个`&lt;Connector&gt;`标签,每个对应一个不同的SSL证书。 2. **优化性能**: 可以调整`maxThreads`等参数,根据服务器性能和预期负载进行优化。 3. **...

    Tomcat配置详解.doc

    综上所述,Tomcat的配置涉及多个方面,包括但不限于端口设置、线程管理、连接池配置、SSL支持以及Web应用程序的部署。理解并熟练配置这些参数对于优化Tomcat的性能和稳定性至关重要。同时,灵活的集成能力使得Tomcat...

    tomcat配置

    通过上述分析,我们可以看出Tomcat的配置涉及多个层面,从服务器级的全局设置到针对具体域名的主机配置,再到各个Web应用的上下文设置。正确配置这些元素是确保Tomcat服务器高效稳定运行的关键。此外,合理利用`...

    tomcat服务的配置

    对于Tomcat而言,虚拟主机可以理解为在一个Tomcat实例中运行多个Web应用。 ##### 3.2 虚拟主机配置步骤 - **编辑server.xml**:打开`conf/server.xml`文件,找到`&lt;Host&gt;`元素,每个`&lt;Host&gt;`元素代表一个虚拟主机。...

    tomcat笔记

    - `&lt;Host&gt;`:配置虚拟主机,与域名关联,每个Host可以有多个Context。 三、Tomcat启动与管理 1. 启动与停止:通过命令行执行`bin/startup.sh`(Unix/Linux)或`bin/startup.bat`(Windows)来启动Tomcat,使用`...

    Tomcat-MI-Manual

    总结,美橙空间的Tomcat多用户实例为用户提供了一个便捷、安全的JSP应用托管环境。理解并掌握上述使用方法和管理技巧,将有助于用户高效地管理和维护自己的Web应用。在遇到问题时,官方资源网站是获取解决方案的重要...

    tomcat安装及配置教程.zip

    2. **设置虚拟主机**:在`server.xml`的`Host`元素中,可以添加多个虚拟主机,每个代表一个不同的域名或应用。 3. **日志配置**:通过修改`conf/logging.properties`,可以调整日志级别和输出位置。 4. **安全配置**...

    《深入剖析 Tomcat》PDF版本下载.txt

    - Host:对应虚拟主机概念,可以配置多个Host来实现多个域名共享同一台物理服务器。 - Context:每个Web应用对应一个Context,用于管理该应用的生命周期和配置。 - Wrapper:对应每个servlet,负责servlet实例的...

Global site tag (gtag.js) - Google Analytics