同一台服务器上部署多个Tomcat服务器

一、Tomcat介绍

Tomcat是Apache 软件基金会(Apache SoftwareFoundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML标准通用标记语言下的一个应用)页面的访问请求。实际上TomcatApache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

诀窍是,当配置正确时,Apache HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,TomcatIISWeb服务器一样,具有处理HTML页面的功能,另外它还是一个ServletJSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为9.0


二、一台机器上部署多个Tomcat服务器

在一台服务器上安装配置单个Tomcat很正常,而多个Tomcat的配置就不同了。一般来说,第二个到多个Tomcat应该是免安装版(解压版)的Tomcat,从第二个Tomcat开始,需要额外配置环境变量,修改端口号。


详细步骤【以第二个Tomcat为例】:

1.增加新的系统环境变量:CATALINA_HOME_A,值为第二个Tomcat的安装路径

2.更改第二个Tomcat下的bin目录的catalina.bat、startup.bat、shutdown.bat文件,将三个文件中的CATALINA_HOME替换为CATALINA_HOME_A

rem Guess CATALINA_HOME_A if not defined
set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME_A%" == "" goto gotHome
set "CATALINA_HOME_A=%CURRENT_DIR%"
if exist "%CATALINA_HOME_A%\bin\catalina.bat" goto okHome
cd ..
set "CATALINA_HOME_A=%cd%"
cd "%CURRENT_DIR%"
:gotHome

3.更改第二个Tomcat的conf/server.xml文件,修改三个端口:SHUTDOWN、HTTP/1.1、AJP/1.3三处的端口,全部改成没有使用过的端口号即可








4.同时运行多个tomcat时,为了便于区分,我们可以修改不同Tomcat下的catalina.bat文件中的:doStart部分的Titile即可,例如将Tomcat后面加个端口号加以区分
:doStart
shift
if "%TITLE%" == "" set TITLE=Tomcat-data

5.启动Tomcat时出现一闪而过,则说明没有配置环境变量,则可以在setclasspath.bat开头添加CATALINA_HOME和JAVA_HOME
set JAVA_HOME=D:\Java\jdk1.7.0_45
set CATALINA_HOME_A=D:\apache-tomcat-7.0.65-data
rem Make sure prerequisite environment variables are set

6.第三个Tomcat的配置类似,则以上步骤无误后,即可以正常启动多个Tomcat


三、eclipse中配置多个tomcat

在eclipse中配置好tomcat后,现在有需求需要在一个eclipse启动两个tomcat甚至更多,只修改tomcat的8080端口肯定不行的,具体需要修改tomcat的shutdown端口、tomcat访问端口,JVM启动端口。

修改方法是:双击tomcat,在ports下修改端口号然后保存即可。

在每个端口上加1,就可以同时启动两个tomcat。

每个端口对应的作用是: 
Tomcat admin port(默认端口8005) tomcat的shutdown端口 
HTTP/1.1 (默认端口8080) http访问端口 
AJP/1.3(默认端口8009) JVM启动端口

你可能感兴趣的:(tools)