tomcat虚拟主机配置方法详解

来源:互联网 发布:中国地缘政治知乎 编辑:程序博客网 时间:2024/05/18 13:06
在目前,很多服务器都是一台服务器对外可以访问很多个javaEE的项目,这种实现方式就需要在tomcat里面配置虚拟主机了!下面就说说如何配置虚拟主机:
    一、打开tomcat安装目录下conf/server.xml这个文件
        在server.xml文档中找到

    </Engine>
    </Service> 
    接着添加上面添加以下内容(暂时先说分为三种方式):
    第一种:
     <Host name="www.linuxidc.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false"  xmlNamespaceAware="false"> 
     <Context path="" docBase="www" debug="0" reloadable="true" crossContext="true"/>  
     <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www_5sai_log." suffix=".txt" 

    timestamp="true"/> 
      </Host>

    以上的内容就是在Tomcat的webapps目录下新建一个www文件夹作为www.linuxidc.com这个域名的主目录
    第二种:
    <Host name="host.zzidc.com" debug="0" appBase="C:\\test\www" unpackWARs="true" autoDeploy="true">
  <Context path="" docBase="."/>       
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  prefix="test_5sai_access_log."

    suffix=".txt" pattern="common" resolveHosts="false"/>
        <Logger className="org.apache.catalina.logger.FileLogger" directory="logs"  prefix="test_5sai_log." suffix=".txt" timestamp="true"/>
  </Host>

    以上内容的意思就是在C盘test文件夹下面建立一个www文件夹作为host.zzidc.com这个域名的主目录
    第三种,如果是linux系统的/var/www作为host.zzidc.com这个域名的主目录的话内容如下:
 <Host name="host.zzidc.com" debug="0" appBase="/var/www" unpackWARs="true" autoDeploy="true">
  <Context path="" docBase="."/>       
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  prefix="test_5sai_access_log."
suffix=".txt" pattern="common" resolveHosts="false"/>
        <Logger className="org.apache.catalina.logger.FileLogger" directory="logs"  prefix="test_5sai_log." suffix=".txt" timestamp="true"/>
  </Host>

    补充一种
<Host  name="www.linuxidc.com"  debug="0"  unpackWARs="true">  
               <Valve  className="org.apache.catalina.valves.AccessLogValve"  
                                 directory="/var/log/tomcat"    prefix="www_5sai_access_log."  suffix=".txt"  
                                 pattern="common"/>  
               <Logger  className="org.apache.catalina.logger.FileLogger"  
                                 directory="/var/log/tomcat"    prefix="www_5sai_log."  suffix=".txt"  
                           timestamp="true"/>  
                             
                   <Context  path=""  docBase="/var/www"  debug="0"  reloadable="true"/>  
           </Host>

    域名www.linuxidc.com的主目录为/var/www 该站点的所有访问LOG放在/ar/log/tomcat里面
    测试:
    windows用户打开C:\WINDOWS\system32\drivers\etc的hosts这个文件,
    linux用户打开/ect的hosts文件或者vi /ect/hosts
    下面是我自己尝试tomcat虚拟主机配置的过程:
    找到tomcat的安装目录,到TOMCAT_HOME/apache-tomcat7/conf目录下,找到server.xml这个文件,打开该文件,在该文件中找到关于Engine这个子节点
    [html] view plaincopy
 

    1 <Engine name="Catalina" defaultHost="localhost">  

    上面的配置了一个defaultHost中的localhost表示为默认的访问方法!  我们需要配置自己的记住就需要在Engine节点中添加Host节点,默认的有一个host如下:
 

    [html] view plaincopy
 

    2 <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">  

    这个里面的name表示的是访问本地的localhost地址,appBase表示项目指定的父位置,当前的webapps代表:TOMCAT_HOME/apache-tomcat7/webapps这个位置,这个位置也是tomcat的默认的存放javaEE项目位置!
 
    下面是我自己配置的一个虚拟主机:
 
[html] view plaincopy
 
3 <Host name="host.zzidc.com" appBase="/var/JavaServer/test" unpackWARs="true" autoDeploy="true">      
4             <Alias>abc.com</Alias>    
5             <Context path="/hello" docBase="/var/www/html/hello" debug="0" privileged="true"/>   
6         </Host>  
 
    详细介绍一下:Host节点代表为一个虚拟主机,name表示需要访问的域名,这个域名是已经注册的域名!当前配置的域名:host.zzidc.com  在Host下有一个子节点,叫Alias,这个里面配置的是  另外一个域名,就是说,一个虚拟主机,可以使用多个域名!
那么访问host.zzidc.com  和abc.com是一样的!
 
    appBase需要你指定的项目父路径,在当前的路径下可以存放多个项目  ,我们可以把项目打包或者放文件夹放在/var/JavaServer/test这个目录下
    unpackWARs="true"  表示当发现在/var/JavaServer/test有打包的war项目的话,就开启解压功能!
    autoDeploy="true"    表示支持热部署!
 
    下面说说在Host节点下的Context节点,这个就是部署一个项目,但是这个项目不是在appBase目录下,他的路径在/var/www/html/hello这个目录下,path表示对外访问的名称, 这样使得tomcat灵活多变 !
 
0 0
原创粉丝点击