一 准备(必须配置,否则不能解析域名到ip)



我们将配置两台虚拟主机,假设域名分别为

www.test1.com

www.test2.com

为了测试方便,请在客户机的:

Win2K://WINNT/system32/drivers/etc/hosts

Linux:/etc/hosts

文件中增加下面内容,然后检查一下这两个域名是否解析正确。

192.168.0.1
www.test1.com

192.168.0.1
www.test2.com

当然,在生产环境中这样做是不行的,需要的在 DNS 上做相应的域名解析。

二 Tomcat安装

将 tomcat 目录下的 webapps 目录在同一目录复制一份,目录名分为 webapps2 ,然后将 webapps 目录改名 为 webapps1 。最后 tomcat 的目录结构大致如下:

tomcat

  |--bin

  |--common

  |--conf

  |--logs

  |--server

  |--shared

  ......

  |--webpapps1

  |--webpapps2

  |--work

最后,写一个简单 html 文件用于测试,文件名为 test.html ,文件内容如下:

<HTML>

<HEAD>

<TITLE>测试</TITLE>

</HEAD>



<BODY>

<P align="center">你现在访问的是 <FONT COLOR="#FF0000">www.test1.com</FONT></P>

</BODY>

</HTML>

将 test.html 文件分别在 tomcat/webapps1/ROOT、tomcat/webapps2/ROOT 目录放置一份,然后将 tomcat/webapps2/ROOT/test.html 文件内容中“www.test1.com”改为“www.test2.com”。

至此,前期的准备工作做完了,全是一些体力活。

三 配置虚拟主机



前面提到了独立 IP 和共享的 IP。本文介绍的是共享的 IP 模式,这种模式就是所有的虚拟主机都使用同一 IP 。目前国内 IDC 提供的虚拟主机都是这种模式。这种模式的优点是节约数量有限的 IP ,缺点就是虚拟主 机只能通过域名访问而不能通过 IP 访问(其实也不算是缺点,只对邮件系统中用户的访问方式有一点点影响 )。而另外一种独立 IP 模式主要应用在邮件服务中,这里就不做介绍了。



配置 www.test1.com虚拟主机



打开 tomcat/conf/server.xml 文件,将 Host 元素之间的内容全部删掉,然后把下面内容加如到 Host 元素 原来的位置。

    <Host name="www.test1.com" debug="0" appBase="webapps1"

             unpackWARs="true" autoDeploy="true">

       

        <Valve className="org.apache.catalina.valves.AccessLogValve"

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

                 pattern="common" resolveHosts="false"/>





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

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

                 timestamp="true"/>





      </Host>

配置 www.test2.com 虚拟主机



将下面内容追加到 Host 元素后面,注意 Host 元素中 name 属性和 appBase 属性的值的变化。

    <Host name="www.test2.com" debug="0" appBase="webapps2"

             unpackWARs="true" autoDeploy="true">

       

        <Valve className="org.apache.catalina.valves.AccessLogValve"

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

                 pattern="common" resolveHosts="false"/>





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

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

                 timestamp="true"/>





      </Host>

现在可以启动 Tomcat 了,分别访问

http://www.test1.com:8088/test.html

http://www.test2.com:8088/test.html

如果访问得到的页面内容分别是下面的内容,那表明虚拟主机已经配置成功了。否则,请检查你的配置过程并 重新按照文档配置。

你现在访问的是 www.test1.com

你现在访问的是 www.test2.com

四 参考

http://jakarta.apache.org/tomcat/

在tomcat6.5+上配置虚拟主机的更多相关文章

  1. 在 Tomcat 上配置虚拟主机

    .Tomcat 服务器的server.xml文件   (1)Tomcat 组件 Tomcat服务器是由一系列可配置的组件构成,其中核心组件是 Catalina Servlet 容器,它是所有其他 To ...

  2. linux上nginx上配置虚拟主机的相关配置

    1.配置主配置: nginx/conf/nginx.conf 2.虚拟主机配置:nginx/conf/extra/learn.weixin.com.conf 配置完后,重启服务器!

  3. CentOS 5上Apache配置虚拟主机范例

    昨天实践了下在CentOS 5上通过Apache直接配置虚拟主机,服务器没有安装面板软件,所以只能通过SSH远程连接操作了.Apache安装在/etc/httpd目录下,这个即是Apache的根目录, ...

  4. mac 上 mamp 配置虚拟主机 具体过程 ?

    https://www.zhihu.com/question/32320396 mac 上 mamp 配置虚拟主机 具体过程 ? 按照哪些配置什么的 都搞好了 但是还不好 配置的主机 制定的目录 还是 ...

  5. 【转】Apache 配置虚拟主机三种方式

    Apache 配置虚拟主机三种方式  原文博客http://www.cnblogs.com/hi-bazinga/archive/2012/04/23/2466605.html 一.基于IP 1. 假 ...

  6. Apache 配置虚拟主机三种方式

    一.基于IP 1. 假设服务器有个IP地址为192.168.1.10,使用ifconfig在同一个网络接口eth0上绑定3个IP: [root@localhost root]# ifconfig et ...

  7. Wampserver2.5配置虚拟主机出现403 Forbidden的处理方案

    WampServer是一款由法国人开发的Apache Web服务器.PHP解释器以 及MySQL数据库的整合软件包.免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更多精力去做开发.在windo ...

  8. Wampserver2.5配置虚拟主机出现403 Forbidden解决办法

    一直在用APMServ5.2.6,mysql好办,可以用mariadb代替进行升级,但php升级到5.4.7就没办法再升级,安装加速器也困难.就想迁移到Wampserver上来,以前也尝试过Wamps ...

  9. nginx 配置虚拟主机

    文章转载自:http://www.ttlsa.com/html/1571.html 上篇说道我们的nginx是安装在/usr/local/nginx/ cd conf 我们现在把所有的虚拟主机放在一个 ...

随机推荐

  1. [置顶] Kubernetes1.7新特性:新增自动伸缩条件和参数

    一.核心概念 Horizontal Pod Autoscaling,简称HPA,是Kubernetes中实现POD水平自动伸缩的功能.云计算具有水平弹性的特性,这个是云计算区别于传统IT技术架构的主要 ...

  2. Arcgis for Js之featurelayer实现空间查询和属性查询

    空间查询和属性查询是常用的两种对数据的检索与查询方式,在本节,将讲述Arcgis for Js下如何实现featurelayer的这两种查询方式,先贴图给大家看看: 实现界面 属性查询 空间查询 看完 ...

  3. canvas 绘制图像

    结果: 代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="U ...

  4. asp.net viewstate 数据过大 导致错误

    当在ViewState中放入dataSet的数据量比较大的时候,当再点页面上的控件时,不会返回到后台,并且会出现如下错误: 或者是上面的12030改成500的错误. --解决方法:Viewstate绑 ...

  5. 软件测试 Record

    fxcopnunit软件质量 EDW 数据仓库ETL KPI 敏捷 测试计划 单元测试 集成测试 系统测试 对测试结果 阶段性 分析 总结 测试结果报告 环境问题:软硬件用户有问题,我们这边没有有效问 ...

  6. go语言通过反射获取和设置结构体字段值的方法

    本文实例讲述了go语言通过反射获取和设置结构体字段值的方法.分享给大家供大家参考.具体实现方法如下: type MyStruct struct { N int } n := MyStruct{ 1 } ...

  7. AlexNet神经网络结构

    Alexnet是2014年Imagenet竞赛的冠军模型,准确率达到了57.1%, top-5识别率达到80.2%. AlexNet包含5个卷积层和3个全连接层,模型示意图: 精简版结构: conv1 ...

  8. 重温CLR(四)基元类型、引用类型、值类型

    编程语言的基元类型 编译器直接支持的数据类型称为基元类型(primitive type).基元类型直接映射到framework类型(fcl)中存在的类型. 下表列出fcl类型 从另一个角度,可以认为C ...

  9. SQL Server临时表的使用方案

      文章来源:http://www.codesky.net/article/201007/145241.html 我们今天是要和大家一起讨论的是SQL Server临时表的实用大全,如果你对SQL S ...

  10. [BZOJ5297][CQOI2018]社交网络

    bzoj luogu sol 就是求以\(1\)为根的生成树的数量. 直接矩阵树定理. code #include<cstdio> #include<algorithm> #i ...