码迷,mamicode.com
首页 > 其他好文 > 详细

Tomcat 初探(三)多项目部署

时间:2015-12-24 16:22:56      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:

扯淡

  昨天房东找我说最近物价飞涨,房租也得涨,混不下去了,得要求老板涨工资。一大清早就去找老板,老板看了看我,让我发布先两个网站:一个前台网站 frontend,给用户用;一个后台管理网站 backend,给管理员用,两个网站要在同一台服务器上部署两个网站,但服务器上只有一个 tomcat,怎么办?

相同端口的多项目部署

  还找我之前了解了 server.xml 中各个节点的作用,正好派上用场,可以通过设置不同的 path 让其匹配到相应的 context,嗯,就这么搞,开个8001端口,修改 context 的 path,于是出现了下面的配置:

<Context path="/user" docBase="/frontend" />
<Context path="/manager" docBase="/backend" />

通过地址:http://localhost:8001/user 和 http://localhost:8001/manager 进入到对应的项目中去(同端口同域名)就可以正常访问了。屁颠屁颠的去找老板要工资,老板一看,重做,为啥,前台域名要 www.frontend.com,后台域名要 www.backend.com 才行,这也难不倒我,调整一下 Host 节点的配置就可以:

    <Host name="www.backend.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">    
        <Context path="" docBase="/backend" />
      </Host>
      <Host name="www.frontend.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="/frontend" />
      </Host>

然后分别通过地址:http://www.frontend.com:8001 和 http://www.backend.com:8001(同端口不同域名)来访问用户站点和管理员站点。 又屁颠屁颠的去找老板要求涨工资去了,老板不在,助理妹子说老板开会去了,不知道啥时候回来,妹子好像还没有男朋友,好可爱,刚刚对我笑了,是不是对我有意思,嘿嘿。

不同端口的多项目部署

  老板终于回来了,还要改(¥#@%……),理由是一个端口不够壕,要两个:一个8001给前台用,一个8002给后台用。为了工资,忍了,配置再改改。回顾之前看的 server.xml 中的内容,端口号是由 Connector 节点负责的,是不是搞两个 Connector 就可以,说干就干,修改配置如下(监听多端口):

   <Connector port="8001" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
   <Connector port="8002" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />    

然后分别通过地址:http://www.frontend.com:8001 和 http://www.backend.com:8002 来访问用户站点和管理员站点,可行,但 http://www.frontend.com:8002 和 http://www.backend.com:8001 居然也是正常的,还好我自测了一下,不然肯定被老板找理由拖欠工资,再次调整:

  <!--www.frontend.com 的配置-->
  <Service name="Catalina">
    <Connector port="8001" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8013" />
    <Connector port="8109" protocol="AJP/1.3" redirectPort="8013" />
    <Engine name="Catalina" defaultHost="localhost">
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
      </Host>
      <Host name="www.frontend.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">    
        <Context path="" docBase="/frontend" />
      </Host>
    </Engine>
  </Service>
  <!--www.backend.com 的配置-->
  <Service name="Catalina">
    <Connector port="8002" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8014" />
    <Connector port="8110" protocol="AJP/1.3" redirectPort="8014" />
    <Engine name="Catalina" defaultHost="localhost">
      <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">
      </Host>        
      <Host name="www.backend.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="/backend" />
      </Host>
    </Engine>
  </Service>

通过地址:http://www.frontend.com:8001 和 http://www.backend.com:8002 来访问用户站点和管理员站点,可行,但 http://www.frontend.com:8002 和 http://www.backend.com:8001 不能正常访问,搞定,赶紧去找老板,顺便约助理妹子晚上一起吃麻辣烫(升职加薪,赢取白富美,哇哈哈),忐忑的敲开了老板的门。老板看见我道:“正好要找你,为了方便管理,还是弄两台服务器吧,你今天弄完,涨工资的事儿,明天再说”。看了看表,还有几分钟就下班了,助理妹子看了我一眼(眼神很怜悯有木有),我张了张嘴,吃饭的事儿一直没说出口,算了,改天再约吧,今晚要加班了,不甘心(我就是一码农啊)……

 

Tomcat 初探(三)多项目部署

标签:

原文地址:http://www.cnblogs.com/krockey/p/5073132.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!