在工作环境中,我们一般不会为Tomcat创建虚拟主机的,因为我们只会用Nginx或Apache来处理静态请求,Tomcat负责处理动态请求,所以创建虚拟主机的工作是由Nginx完成的。因为tomcat处理并发的能力不强,所以一般不会让Tomcat做web服务的,Tomcat可以创建多实例来配合Nginx虚拟主机完成多业务。
配置一个简单的虚拟主机
编辑配置文件
vim /usr/local/tomcat/conf/server.xml
<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="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>
<Host name="mem.aaa.com" appBase=""
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/tomcatweb/test/" reloadable="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="memlogs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
需要在<Host>.......</Host>下面,在</Engine>上面加另外一个<Host>......</Host>
[root@tom01 test]# /etc/init.d/tomcat stop
[root@tom01 test]# /etc/init.d/tomcat start
注:如果第一台主机定义了appBase=“webapps” 剩下的虚拟主机appBase="“设置为空,否则有可能会有错误。可以在docBase=”/tomcatweb/test/" 中定义网站路径.


注意哦,如果没改端口的话 访问域名的虚拟主机加8080哦,就因为这个端口忘了加了,折腾了半天搞这个虚拟主机。
通常在实际工作中,由于Tomcat并发处理能力有限,静态请求由Nginx或Apache处理,动态请求由Tomcat处理。但本文介绍了如何在Tomcat上配置虚拟主机,通过编辑server.xml文件,并给出停止、启动Tomcat的命令。需要注意的是,如果多个虚拟主机配置,部分主机的appBase应设为空,且未修改端口时,访问需加上默认端口8080。
3492

被折叠的 条评论
为什么被折叠?



