• [Web服务容器/Apache Tomcat]WINDOWS系统下:一台机器部署多个[解压版]Tomcat


    以windows为例。

    1 思路

    1.1 前置条件

    控制面板>所有控制面板项>系统>高级系统设置>系统变量(S):

    JAVA_HOME=D:Program Files(x86)Javajdk1.8.0_111
    
    Path=%JAVA_HOME%in
    Path=%JAVA_HOME%jrein
    
    CLASSPATH=.;%JAVA_HOME%lib;%JAVA_HOME%lib	ools.jar
    

    1.2 涉及配置项

    • Tomcat配置文件: startup.bat / catalina.bat / shutdown.bat / service.bat
    • 端口: SHUTDWN(Default:8005) / HTTP(Default:8080) / AJP(Default:8009) / JDWP/JPDA(Default:5005)
      (各Tomcat之间全部的端口都不应重合,避免端口冲突,启动失败)
    • 环境变量: CATALINA_HOME_xxx / CATALINE_BASE_xxx / CATALINA_OPTS/JPDA_OPTS(涉及远程调试时 即 启用JDWP/JPDA服务时)
    CATALINA_HOME : 安装目录(共享 : lib目录和bin目录)
    
    CATALINE_BASE : 工作目录(排除 : lib目录和bin目录)
    

    2 解决方案与过程

    • 下载Apache Tomcat安装包
      (Eg: apache-tomcat-8.5.58.zip)

    • 配置 server.xml : SHUTDWN(Default:8005) / HTTP(Default:8080) / AJP(Default:8009)
      (将默认端口修改一下,避免后续的Tomcat因端口冲突而启动失败)

    <Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
    
    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    
    • 检查 JPDA远程调试端口 (JDWP/JPDA(Default:5005))
      【特别注意】当启用了JPDA远程调试服务时: 检查一下 自行配置的Tomcat的 startup.bat / catalina.bat 中 JPDA的远程调用端口是否存在冲突的情况!!!
    SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
    

    方式1: 纯配置Tomcat(不配置系统变量)

    推荐此方式

    • 配置 startup.bat/catalina.bat

    特别注意:
    1.路径中存在空格符等情况时,一定是将整个'='赋值语句用双引号""给全部括起来

    set "CATALINA_HOME=D:Program Files(x86)Apache TomcatMuiti-Tomcatsapache-tomcat-8.5.33-D"
    set "CATALINA_BASE=D:Program Files(x86)Apache TomcatMuiti-Tomcatsapache-tomcat-8.5.33-D"
    

    配置好 startup.bat 后,其实已可以启动Tomcat服务。

    • 配置 shutdown.bat
    set "CATALINA_HOME=D:Program Files(x86)Apache TomcatMuiti-Tomcatsapache-tomcat-8.5.33-D"
    set "CATALINA_BASE=D:Program Files(x86)Apache TomcatMuiti-Tomcatsapache-tomcat-8.5.33-D"
    

    配置好 shutdown.bat 后,方便后续关闭Tomcat服务。

    • 配置 service.bat
      如果需要将Tomcat发布成Windows服务(services.msc: 开机自启/手动启动等),则需借助 service.bat,反之则不需配置此脚本文件。

    发布/卸载 WINDOWSS服务: service[.bat] install / service.bat remove 或(指定服务名称,推荐) service[.bat] install Tomcat8A / service[.bat] remove Tomcat8A
    (install执行后, 出现 The service "Tomcat8A" has been installed 说明设置服务成功)
    启动/停止 WINDOWS服务: CMD> services.msc>(选中目标服务)>[启动(net start Tomcat8A)/停止(net stop Tomcat8A)]

    ``` shell set CATALINA_HOME=D:Program Files(x86)Apache TomcatMuiti-Tomcatsapache-tomcat-8.5.33-D set CATALINA_BASE=D:Program Files(x86)Apache TomcatMuiti-Tomcatsapache-tomcat-8.5.33-D ```
    • 启动并验证 N个Tomcat。浏览器分别访问:
    http://localhost:8080
    http://localhost:8081
    http://localhost:8082
    ...
    

    方式2: 配置系统变量

    每个Tomcat都需要 CATALINA_HOME 和 CATALINA_BASE变量,都一起配置进系统环境变量,那OS如何区分?

    思路:
    1.修改系统环境变量 CATALINA_HOME/BASE 的名称为 CATALINA_HOME/BASE_X (每个Tomcat的X都使用不同的代码)
    2.修改并替换 配置文件 startup.bat / catalina.bat / shutdown.bat / service.bat 的 CATALINA_HOME 和 CATALINA_BASE 为 CATALINA_HOME_X 和 CATALINA_BASE_X

    X 参考/推荐文献

  • 相关阅读:
    Team Foundation Sidekicks 2010
    Asp.net页面传值的方式汇总
    轻量级IOC框架Ninject使用
    AutoMapper使用简单总结
    页面请求的方式(Get与Post)
    总结2012 规划2013
    在reset css后两个input之间还是出现默认间隔的问题。
    js学习笔记事件委托
    程序猿工具——svn
    JS 事件添加onclick写法注意。
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/13766655.html
Copyright © 2020-2023  润新知