host 配置端口_【20201103】Tomcat虚拟主机配置的案例大全

1. 介绍

1.1 介绍

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

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

2. 示例

2.1 一个端口一个主机

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

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

f1731051-8321-eb11-8da9-e4434bdf6706.jpeg

2.2 一个端口多个主机

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

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

f3731051-8321-eb11-8da9-e4434bdf6706.jpegf4731051-8321-eb11-8da9-e4434bdf6706.jpegf5731051-8321-eb11-8da9-e4434bdf6706.jpeg

2.3 多个端口多个主机

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

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

f6731051-8321-eb11-8da9-e4434bdf6706.jpegf8731051-8321-eb11-8da9-e4434bdf6706.jpeg

2.4 多个虚拟目录

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

<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

f9731051-8321-eb11-8da9-e4434bdf6706.jpegfa731051-8321-eb11-8da9-e4434bdf6706.jpegfc731051-8321-eb11-8da9-e4434bdf6706.jpeg

3. 总结

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

4. 5. P.S.

微信公众号的文章发出去之后是不能编辑的,但是福哥偶尔会修复一些描述不到位、示例不正确、结构不清晰等等的文章错误,这些只能在网站上才能看到最新版本内容,望大家知晓~~


【20201102】做个web框架(9)——Autoload自动加载器的实现

【20201101】做个web框架(8)——模型Model(二)TFDO对象的设计


免费看文章,自己学技术



fe731051-8321-eb11-8da9-e4434bdf6706.jpeg

ff731051-8321-eb11-8da9-e4434bdf6706.jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值