一个Tomcat多端口多项目部署

  为什么突然写这个呢,前两天面试了,被面试官给问住了,回来一查。。。。。怎么这么简单,当时我就。。。。你懂得。

我用的是Tomcat7,用Eclipse新建了两个简单的web项目,贴出web1的截图,web2的是一样的,就是index.html中的Web1换为Web2了。

一个Tomcat多端口多项目部署

  下面咱们实现这么一个需求,web1这个项目咱们用Tomcat默认的 8080 端口进行访问,web2这个项目咱们用自定义的 8989 端口进行访问。

想要进行端口的设置等,就需要修改 Tomcat 的 conf 目录下的 server.xml 文件, 只需要新加一个 Service标签即可,当然其中也需要修改一点东西,

下面是我的Service标签的第一个

  <Service name="Catalina1">

    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    <!-- Define an AJP 1.3 Connector on port 8009
      <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    -->

    <Engine name="Catalina1" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webapps1" unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
    </Engine>
  </Service>

  为什么把 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 这个给注释了呢,因为咱们这里不要求,为什么呢,这个端口是用于进行Tomcat服务器与其它HTTP服务器进行集成时,需要这个连接器。

  这里需要修改5个地方:

  1. Service 标签 的 name 属性

  2. 端口号( Connector 标签的 port 属性)

  3. Engine 标签的 name 属性

  4. Host 标签的 appBase 属性

  5. 注释掉 port为8009的Connector

然后复制一份Service标签及标签体,写第二个Service标签, 贴出来我的

<Service name="Catalina2">

    <Connector port="8989" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    <!-- Define an AJP 1.3 Connector on port 8009
      <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
  -->

    <Engine name="Catalina2" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webapps2" unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
    </Engine>
  </Service>

  把Tomcat目录下的 webapps 改为 webapps1,然后把 web1.war 放入这个目录下, 新建 webapps2,把web2.war放入该目录下。

   一个Tomcat多端口多项目部署

  这样就可以了.  启动Tomcat服务器

  在地址栏输入 localhost:8080/web1访问web1项目,

  输入localhost:8989/web2访问第二个项目。

上一篇:NTP时间服务器 搭建


下一篇:Ubuntu 14.04更新为国内阿里源解决apt-get install无法执行的问题