• 在 Tomcat 8 部署多端口项目


    转载自:https://www.cnblogs.com/ramantic/p/7517544.html

    一般的部署途径

    Tomcat 的部署途径很多,一般有如下几种:

    1. 直接将 War 包拷贝到 webapps 目录中,然后启动 Tomcat。
    2. 登陆 Tomcat 管理控制台http://localhost:8080/,输入用户名和密码后便可管理应用并动态发布。

    接下来记录一下多端口项目部署的步骤。

    多端口项目的部署策略

    要想在 Tomcat 上部署不同端口的项目,其实只需要修改 conf 文件夹的 server.xml 即可。在 Server 元素下可以看到 Service 子元素,其中 Connector 的 Port 是默认的 8080。接下来只要创建多个 Service 子元素就行了,修改其中的 port 就可以。

    先来看看 8080 端口的 Service 是如何配置的:

    <Service name="Catalina">
      <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="Catalina" defaultHost="localhost">
    
        <!-- Use the LockOutRealm to prevent attempts to guess user passwords
             via a brute-force attack -->
        <Realm className="org.apache.catalina.realm.LockOutRealm">
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
        </Realm>
        <Host name="localhost"  appBase="webapps" 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>

    接下来要配置新的端口了,那么要修改哪些地方呢?来列举一下:

    1. Service 标签 的 name 属性
    2. Connector 的 port 属性,也就是端口号
    3. Engine 的 name 属性
    4. Host 的 appBase 属性

    OK,继续在 8080 这个 Service 的后面,也就是与之为兄弟节点关系的位置注入以下配置代码:

    <Service name="Catalina_QueenWeb">
      <Connector port="8500" 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="Catalina_QueenWeb" defaultHost="localhost">
    
        <!-- Use the LockOutRealm to prevent attempts to guess user passwords
             via a brute-force attack -->
        <Realm className="org.apache.catalina.realm.LockOutRealm">
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
        </Realm>
        <Host name="localhost"  appBase="webapp_QueenWeb" 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>

    修改了哪些内容呢?

    1. Service 标签 的 name 属性值为 Catalina_QueenWeb
    2. Connector 的 port 属性值为 8500(该端口号可以自由拟定)
    3. Engine 的 name 属性值为 Catalina_QueenWeb
    4. Host 的 appBase 属性值为 webapp_QueenWeb

    来看一下 Tomcat 内部的文件夹:

    Markdown

    可以看到,除了默认的 webapps 文件夹,还有一个新创建的 webapp_QueenWeb,只要把打包好的 War 包直接拷贝进去即可:

    Markdown

    最后,启动 Tomcat 服务(startup.bat)即可,同时会发现,这个 War 包会自解压为一个文件夹!

  • 相关阅读:
    python12306抢票
    函数、迭代器、生成器、装饰器
    类(面向对象、增删改查、继承、多态、封装、反射)
    js循环、异常、函数
    js引入、注释、事件
    天融信护网面试
    Java URL处理
    Java多线程编程
    Java网络编程
    Java序列化
  • 原文地址:https://www.cnblogs.com/hd92/p/13554986.html
Copyright © 2020-2023  润新知