设为首页 收藏本站
查看: 625|回复: 0

[经验分享] tomcat端口虚拟主机说明

[复制链接]

尚未签到

发表于 2017-1-24 11:44:04 | 显示全部楼层 |阅读模式
虚拟主机的概念:
虚拟主机是指用一台主机运行多个站点,一般分为,基于域名的虚拟主机,基于IP的虚拟主机和基于端口的虚拟主机
基于域名的虚拟主机:比如有三个站点,www.a.com www.b.com www.c.com,它们都部署在一台主机上,web服务器根据访问的域名的不同,返回各个站点的页面
基于IP的虚拟主机:原理类似于上面,但是域名的不同换成了ip的不同,这样每个站点有自己的独立IP
基于端口的虚拟主机:访问不同的端口返回不同的站点,这些站点的域名和IP没有限制,可以是相同的也可以是不同的

Tomcat的虚拟主机:
       一般情况下,tomcat只能配置基于域名和IP的虚拟主机,只需要在server.xml里面增加host即可
       举例:
<Host name="www.a.com" debug="0" appBase="e:\VSB2006\owners\www.a.com" unpackWARs="true"
         autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www.a.com_log."
suffix=".txt" timestamp="true" />
</Host>

基于端口的Tomcat虚拟主机
Tomcat的文档中和网上都无法找到基于端口的虚拟主机的配法,经过尝试,发现了一个方法可以达到这个效果。
       我们看一个最精简的server.xml
<Server port="8005" shutdown="SHUTDOWN">
….省略
  <Service name="Catalina">
    <Connector port="8080" /> <!—这是对外的主要端口-->
    <Connector port="8009" protocol="AJP/1.3" />  <!—这是给apache使用的端口-->
    <Engine name="Catalina" defaultHost="localhost">  <!—引擎-->
      <Logger className="org.apache.catalina.logger.FileLogger" />
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase" />
      <Host name="localhost" appBase="webapps" /> <!—默认的主机-->
    </Engine>
  </Service>
</Server>
虽然可以增加Connector来增加服务的端口,但是host中没有提供端口的选项,这样增加出来的端口和源端口是一样的虚拟主机设定,无法打到我们的要求。
单纯增加端口没有办法,那么我们可以增加service,举例如下:
<Server port="8005" shutdown="SHUTDOWN">
….省略
  <Service name="Catalina">
    <Connector port="8080" /> <!—这是对外的主要端口-->
    <Connector port="8009" protocol="AJP/1.3" />  <!—这是给apache使用的端口-->
    <Engine name="Catalina" defaultHost="localhost">  <!—引擎-->
      <Logger className="org.apache.catalina.logger.FileLogger" />
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase" />
      <Host name="localhost" appBase="webapps" /> <!—默认的主机-->
    </Engine>
  </Service>
  <Service name="Catalina2">
    <Connector port="8090" /> <!—这是对外的主要端口-->
    <Engine name="Catalina2" defaultHost="localhost">  <!—引擎-->
      <Logger className="org.apache.catalina.logger.FileLogger" /><!—这一块有所省略,应该配置不同的文件名-->
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase" />
      <Host name="localhost" appBase="webapps2" /> <!—默认的主机-->
    </Engine>
  </Service>
</Server>
增加的serv ice可以分配自己的connectorhost,只要和主service不冲突即可
(这个测试通不过,慎用!)

通过这个办法,可以让vsb2006的管理端运行在一个端口上,而站点运行在另外的端口上,完全不冲突

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-332948-1-1.html 上篇帖子: 关于Tomcat GZip的疑问 下篇帖子: 快速配置tomcat连接池
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表