zoukankan      html  css  js  c++  java
  • 在 Tomcat 8 部署多端口项目

    Markdown

    一般的部署途径

    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 包会自解压为一个文件夹!

  • 相关阅读:
    css3--简单的加载动画
    background--详解(背景图片根据屏幕的自适应)
    css--两行显示省略号兼容火狐浏览器
    tortoisegit--无法commit
    vim--学习
    JavaScript--数据结构与算法之图
    JSONP
    数据结构--只用位运算实现加减乘除操作
    剑指offer——不用加减乘除做加法
    shop--10.前端展示系统--首页展示(后台)
  • 原文地址:https://www.cnblogs.com/ramantic/p/7517544.html
Copyright © 2011-2022 走看看