tomcat虚拟主机

虚拟主机

tomcat不支持基于不同IP的虚拟主机

基于域名的虚拟主机

一台物理机搭建多个web站点,每个站点独立运行互不干扰

多个域名解析到同一个IP地址,web服务器配置文件添加多个站点,各站点有自己的主机名。客户端请求时http协议请求包含了主机名信息,根据不同主机名访问不同站点

[root@localhost ~]# vim /etc/hosts
    192.168.111.4   www.qiao.com
    192.168.111.4   www.ying.com
#修改hosts文件,并且在客户端测试机上也是修改为同样的。

[root@localhost ~]# mkdir /web/{qiao,ying} -pv

[root@localhost ~]# vim /web/qiao/index.jsp
welcome www.qiao.com

[root@localhost ~]# vim /web/ying/index.jsp
welcome www.ying.com

[root@localhost ~]# vim /usr/local/tomcat8/conf/server.xml 
        <Host name="www.qiao.com" appBase="/web"
            unpackWARs="true" autoDeploy="true">
            <Context docBase="qiao" path="" reloadable="false">
            </Context>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
      
      <Host name="www.ying.com" appBase="/web"
            unpackWARs="true" autoDeploy="true">
            <Context docBase="ying" path="" reloadable="false">
            </Context>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>

基于端口的虚拟主机

需要添加和虚拟主机的个数相对应数量的service组件

[root@localhost ~]# vim /usr/local/tomcat8/conf/server.xml 

  <Service name="Catalina1">

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />


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

      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost" appBase="/web"
            unpackWARs="true" autoDeploy="true">
	    <Context docBase="qiao" path="" reloadable="false">
	    </Context>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
    </Engine>
  </Service>
  <Service name="Catalina2">

    <Connector port="8090" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />


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

      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost" appBase="/web"
            unpackWARs="true" autoDeploy="true">
	    <Context docBase="ying" path="" reloadable="false">
	    </Context>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
    </Engine>
  </Service>
  
客户机测试:192.168.111.4:8080
            192.168.111.4:8090
原文地址:https://www.cnblogs.com/jojoword/p/10795979.html