vlambda博客
学习文章列表

【20201103】Tomcat虚拟主机配置的案例大全

1. 介绍

1.1 介绍

今天福哥来给大家讲解一下关于Tomcat服务器的虚拟主机的配置方法,前面福哥有一篇《Tomcat学习笔记》专门介绍Tomcat的知识的文章。不过,文章里面针对Tomcat的虚拟主机的部分介绍的不够详细,只有server.xml配置文件里面的各种的标签的用途的基本介绍,而这些标签怎么使用?在各种情况下如何组合?搭配之后的效果是怎么样?我们还不知道。

所以,福哥今天就通过一个一个的示例,让童鞋们对于Tomcat的虚拟主机的配置有一个详尽的认识。

2. 示例

2.1 一个端口一个主机

首先我们先来一个单端口、单主机的配置,这是大部分情况的服务器环境的配置方式。

<!--one port one host--><Service name="service1"> <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Engine name="engine1" defaultHost="localhost"> <Host name="localhost" appBase="onePortOneHost" unpackWARs="true" autoDeploy="true"> </Host> </Engine></Service>

2.2 一个端口多个主机

接下来我们配置一个单端口、多主机的配置,很多平台会采用这样的配置方式,一个平台会包括很多单独的项目,包括:www(门户)、news(资讯)、bbs(论坛)等等。

<!--one port multi host--><Service name="service2"> <Connector port="8082" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Engine name="engine1" defaultHost="localhost"> <Host name="localhost" appBase="onePortMultiHost" unpackWARs="true" autoDeploy="true"> </Host> <Host name="host1.tongfu.net" appBase="onePortMultiHost1" unpackWARs="true" autoDeploy="true"> </Host> <Host name="host2.tongfu.net" appBase="onePortMultiHost2" unpackWARs="true" autoDeploy="true"> </Host> </Engine></Service>

【20201103】Tomcat虚拟主机配置的案例大全【20201103】Tomcat虚拟主机配置的案例大全【20201103】Tomcat虚拟主机配置的案例大全

2.3 多个端口多个主机

再来我们配置一个有着多端口、多主机的的配置,这种配置适用于大型的平台的情况,它的非80端口主机一般情况下是用来搭建内部使用的接口服务。

<!--multi port multi host--><Service name="service5"> <Connector port="8085" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Engine name="engine1" defaultHost="localhost"> <Host name="localhost" appBase="multiPortMultiHost8085" unpackWARs="true" autoDeploy="true"> </Host> </Engine></Service><Service name="service6"> <Connector port="8086" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Engine name="engine1" defaultHost="localhost"> <Host name="localhost" appBase="multiPortMultiHost8086" unpackWARs="true" autoDeploy="true"> </Host> </Engine></Service>

【20201103】Tomcat虚拟主机配置的案例大全【20201103】Tomcat虚拟主机配置的案例大全

2.4 多个虚拟目录

最后我们学习一下如何在主机里面配置虚拟目录,这种配置适用于一个大型平台部署在一个域名下面的情况,多个模块通过虚拟目录的方式部署在根主机下面。

<!--multi context--><Service name="service8"> <Connector port="8088" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Engine name="engine1" defaultHost="localhost"> <Host name="localhost" appBase="" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="oneHostMultiContext" privileged="true"> </Context> <Context path="/context1" docBase="oneHostMultiContext1" privileged="true"> </Context> <Context path="/context2" docBase="oneHostMultiContext2" privileged="true"> </Context>
</Host> </Engine></Service>
  • path设置为“空”就是指向主机根目录

  • path参数不能以“/”结尾

  • docBase参数实际上是“appBase”+“docBase”的组合。如果Context在Tomcat根目录的话,那么appBase就需要留空。

  • 每个Context都会受Host的设置影响,包括:unpackWARs、autoDeploy

【20201103】Tomcat虚拟主机配置的案例大全【20201103】Tomcat虚拟主机配置的案例大全【20201103】Tomcat虚拟主机配置的案例大全

3. 总结

福哥今天带着大家学习了在Tomcat服务器里进行虚拟主机和虚拟目录的配置的技巧,给出了很多配置的案例的配置代码,基本可以满足你的所有情况了。

4. 5. P.S.









免费看文章,自己学技术




文章知识老旧?文章内容看不懂?文章不清晰?点击“阅读原文”查看最新内容