tomcat的虚拟主机,在主配置文件 conf/server.xml 中,每一个Host就表示一个虚拟主机
一、默认虚拟主机
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
备注:
name 域名
unpackWARs 是否自动解压WAR这个包(true是自动解压)
appBase 应用项目位置(这个目录表示:
①这个目录下面的子目录将自动被部署为应用。
②这个目录下面的.war文件将被自动解压缩并部署为应用)
二、新增加虚拟主机
<Host name="www.123.cn" appBase="/home/www/"
unpackWARs="false" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/home/wwwroot/image" debug="0" reloadable="true" crossContext="true"/>
<!--
<Context path="/upload/image/" docBase="/data/wwwroot/image/project-1.0.0-SNAPSHOT" debug="0" reloadable="true" crossContext="true"/>
或者
<Context path="" docBase="/data/wwwroot/image/project-1.0.0-SNAPSHOT" debug="true" reloadable="false"></Context>
-->
</Host>
备注:
1、如果不想让WAR包存在(定义appbase),那么可以定义docBase,这里目录里面是存放网站的程序就可以了(相当于把WAR包解压后的文件放在dosbase指定的目录中)。
2、appBase和docBase这2个里面只能2选一,同时存在可以把其中一个留空,避免相互影响。如果出现404的问题,那么很可能是这2项没有定义对。
三、tomcat服务器日志输出设置
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%a %{Y-MM-d H:mm:s}t %m %U %s %B %T" fileDateFormat="yyyy-MM-dd"/>
或者
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="demo_localhost_access_log." suffix=".txt"
pattern="%a %t %m %U %s %B %T" fileDateFormat="yyyy-MM-dd"/>