http申请头host字段示意指标服务器域名。咱们晓得个别服务器都只会有一个ip地址,而一个ip地址能够有多个域名,比方咱们有www.qiniu.comwww.taobao.comwww.jd.com几个域名,在域名供应商那通过A记录或者CNAME记录的形式记录的形式与服务器的ip地址关联,那么通过任何一个域名拜访最终解析到的都是该ip

如果一个服务器只部署一个站点是不是很浪费资源,tomcat上搭建站点时,能够给每个域名指定一个拜访目录,而后每次拜访都会依据不同的Host的信息申请到不同的站点下面,配置/usr/local/tomcat/conf/目录server.xml如下:

<?xml version="1.0" encoding="UTF-8"?><Server port="8006" shutdown="SHUTDOWN"><Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/><Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/><Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/><Listener className="org.apache.catalina.core.AprLifecycleListener"/><GlobalNamingResources><Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml"/></GlobalNamingResources><Service name="Catalina"><Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="1000" minSpareThreads="20" acceptCount="1000" maxHttpHeaderSize="65536" debug="0" disableUploadTimeout="true" useBodyEncodingForURI="true" enableLookups="false" URIEncoding="UTF-8"/><Engine name="Catalina" defaultHost="localhost"><Realm className="org.apache.catalina.realm.LockOutRealm"><Realm className="org.apache.catalina.realm.UserDatabaseRealm"  resourceName="UserDatabase"/></Realm>// Tomcat的Webapps目录是Tomcat默认的利用目录,当服务器启动时,会加载所有这个目录下的利用。如果你想要批改这个默认目录,能够在conf下的server.xml文件里批改Host标签里的appBase值。    <Host name="www.qiniu.com" appBase="/data/wwwroot/qiniuwebapp" unpackWARs="true" autoDeploy="true">        <Context path="" docBase="/data/wwwroot/qiniuwebapp" debug="0" reloadable="false" crossContext="true"/>        // path:是拜访时的根地址,示意拜访的门路,能够自定义,如上述例子中,拜访该应用程序地址如下:http://localhost:8080/;        // docbase:示意应用程序的门路,docBase能够应用绝对路径,也能够应用相对路径,相对路径绝对于webapps ;        // reloadable:示意能够在运行时在classes与lib文件夹下主动加载类包。这个属性在开发阶段通常都设为true,不便开发;在公布阶段应该设置为false,进步应用程序的访问速度 ;        <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.taobao.com" appBase="/data/wwwroot/taobaowebapp" unpackWARs="true" autoDeploy="true">        <Context path="" docBase="/data/wwwroot/taobaowebapp" debug="0" reloadable="false" crossContext="true"/>        <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.jb.com" appBase="/data/wwwroot/jbwebapp" unpackWARs="true" autoDeploy="true">        <Context path="" docBase="/data/wwwroot/jbwebapp" debug="0" reloadable="false" crossContext="true"/>        <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></Server>