tomcat 基于域名的虚拟主机和访问日志

默认情况下tomcat应用程序目录是tomcat基目录下的webapps目录,将项目访问webapps目录后进行访问需要使用http://ip/项目名称,如果想直接访问需要配置server.xml,修改<Hosts>中的path=”” 为空,因为默认情况下path是指向 webapps/ROOT 目录。

根据域名创建多个虚拟主机

<Host name="tomcat1.zdz.com" appBase="webapps" autoDeploy="true" unpackWARs="true" xmlNamespaceAware="false" xmlVali
dation="false">
 <Context docBase="/data/zdz1/" path="" reloadable="false"/>
 </Host>
 <Host name="tomcat2.zdz.com" appBase="webapps" autoDeploy="true" unpackWARs="true" xmlNamespaceAware="false" xmlValid
ation="false">
 <Context docBase="/data/zdz2/" path="" reloadable="false"/>
 </Host>

默认情况下tomcat是将访问日志定义到 logs/localhost_access_log,

<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" />

可以在每个虚拟主机中定义访问日志,并且可以根据需要设置日志的格式
%{X-Forwarded-For}i 表示获取客户端的真实ip地址,这用于tomcat前端有反向代理的时候使用。

<Host name="tomcat3.zdz.om" appBase="webapps" autoDeploy="true" unpackWARs="true" xmlNamespaceAware="false" xmlValidatio
n="false">
 <Context docBase="/data/zdz3/" path="" reloadable="false"/>
 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
 prefix="tomcat3.zdz.com_access_log." suffix=".txt" 
 pattern="%{X-Forwarded-For}i %a %u %t %r %s %b %{User-Agent}i %{Referer}i " resolveHosts="false"/>
 </Host>

发表评论