需要在同一系统里启动多个tomcat,应该怎么处理?
tomcat是个服务程序,需要占用几个通讯端口,所以默认情况是不能启动多个tomcat,如果要启动多个tomcat,需要修改配置文件,通过在配置文件设置不同的通讯端口就可以做到.文件 %TOMCAT_HOME%/conf/server.xml 是tomcat服务配置文件,里面有很多配置项,本文只关注怎么修改端口,其他配置项的含义不做说明。下面把该配置文件中各端口的含义说明下.
<Server port="8005" shutdown="SHUTDOWN"> 接受服务器关闭指令的端口号,我们叫关闭指令端口. |
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
http请求处理端口,我们在网页上输入的普通url地址包含的端口就是他 .这个端口叫http端口.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
https请求的处理端口.这个端口叫https端口.
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 接收AJP协议的处理端口.这个端口叫ajp端口. |
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
https请求的处理端口.
实际上就4个端口 。
下面我以一个系统里启动3个tomcat为例,说明下操作步骤
分配端口
Tomcat1端口分配表(tomcat1全部采用默认配置)
端口 | 端口号 |
关闭指令端口 | 8005 |
http端口 | 8080 |
https端口 | 8443 |
Ajp端口 | 8009 |
Tomcat2端口分配表
端口 | 端口号 |
关闭指令端口 | 8006 |
http端口 | 8081 |
https端口 | 8444 |
Ajp端口 | 8010 |
Tomcat3端口分配表
端口 | 端口号 |
关闭指令端口 | 8007 |
http端口 | 8082 |
https端口 | 8445 |
Ajp端口 | 8011 |
然后启动这三个tomcat即可...
- 一、 在 WINDOWS 中启动多个 TOMCAT(以三个为例)。
- 方法一
- 1、 使用压缩版的 TOMCAT,把他分别解压到不同的目录中,如:
- D:\user1\tomcat5.5
- D:\user2\tomcat5.5
- D:\user3\tomcat5.5
- 2、修改各目录中 tomcat5.5\conf 下的 server.xml
- 修改<Server port="8005" shutdown="SHUTDOWN">中 8005 为其他端口
- 修改<Connector port="8080" maxHttpHeaderSize="8192"中 8080 为其他端口
- 修改<Connector port="8009"中 8009 为其他端口
- 如我把 d:\user1\tomcat5.5\conf\server.xml中以上的三个 port 分别 8001、8010、
- 8011;把 d:\user2\tomcat5.5\conf\server.xml 中的三个 port 分别设为 8002、8020、
- 8012;把 d:\user3\tomcat5.5\conf\server.xml 中的三个 port 分别设为 8003、8030、
- 8013。
- 3、 直接运行各目录中 tomcat5.5\bin\startup.bat
- 此种方法设置简单,缺点是会在桌面打开很多窗口,且一不小心就会把窗口关闭,
- 造成 TOMCAT 服务停止。为了解决这种不足可以把三个 TOMCAT 设为系统服务。
- 4、 编写并执行 InstallServiceu.bat 批处理文件。文件内容如下:
- rem 安装 tomcatuser1 服务
- set CATALINA_BASE=d:\user1\tomcat5.5
- set CATALINA_HOME=d:\user1\tomcat5.5
- call d:\user1\tomcat5.5\bin\service.bat install tomcatuser1
- rem 安装 tomcatuser2 服务
- set CATALINA_BASE=d:\user2\tomcat5.5
- set CATALINA_HOME=d:\user2\tomcat5.5
- call d:\user2\tomcat5.5\bin\service.bat install tomcatuser2
- rem 安装 tomcatuser3 服务
- set CATALINA_BASE=d:\user3\tomcat5.5
- set CATALINA_HOME=d:\user3\tomcat5.5
- call d:\user3\tomcat5.5\bin\service.bat install tomcatuser3
- 执行以上批处理,系统增加了一个三个系统服务,如果你的系统中已安装了一个
- tomcat 的 windows 安装版,系统中将还有一个 apache tomcat 的服务。如图:
- 5、到此,可以使用两种方式来启动 TOMCAT,一是前面说的直接运行各目录中
- tomcat5.5\bin\startup.bat。二是在 WINDOWS 的服务管理中启动这几个服务,或把服
- 务设为自动,让他随 WINDOWS 启动而自动启动。
- 6、虽然我们可以通过以上的方式运行 TOMCAT 服务,但我们不能直接运行
- tomcat5.exe 和 tomcat5w.exe。原因是这两个程序只查找一个 tomcat5 的服务(显示为:
- Apache Tomcat),按这个服务中的设置去运行。
- 方法二(此方法本来不想在这里说的,但网上介绍的比较多,但我认为有了方法一,就
- 不需要方式二,因为设置比较复杂,目前我还没发现这样设置比上面的方法有
- 其他优点,但在 LINUX 中的单用户模式下,还必须这样设置)。
- 1、 使用压缩版的 TOMCAT,把他分别解压到不同的目录中,如:
- D:\user1\tomcat5.5
- D:\user2\tomcat5.5
- D:\user3\tomcat5.5
- 2、设置 WINDOWS 的环境变量:
- CATALINA_BASE1=D:\USER1\tomcat5.5.25
- CATALINA_HOME1=D:\USER1\tomcat5.5.25
- CATALINA_BASE2=D:\USER2\tomcat5.5.25
- CATALINA_HOME2=D:\USER2\tomcat5.5.25
- CATALINA_BASE2=D:\USER3\tomcat5.5.25
- CATALINA_HOME2=D:\USER3\tomcat5.5.25
- PATH= D:\USER1\tomcat5.5.25\bin; D:\USER1\tomcat5.5.25\bin;
- D:\USER1\tomcat5.5.25\bin;$PATH
- 3、修改三个 TOMCAT 目录中 catalina.bat 和 startup.bat 文件
- 把其中的内容 CATALINA_BASE 分别改为:CATALINA_BASE1、CATALINA_BASE2、
- CATALINA_BASE3,CATALINA_HOME 分别改为 CATALINA_HOME1、CATALINA_HOME3、
- CATALINA_HOME3。
- 如我把 D:\user1\tomcat5.5\bin\目录下的 catalina.bat 和 startup.bat 中的
- CATALINA_BASE 改为 CATALINA_BASE1,CATALINA_HOME 改为 CATALINA_HOME1;
- 把 D:\user2\tomcat5.5\bin\目录下的 catalina.bat 和 startup.bat 中的
- CATALINA_BASE 改为 CATALINA_BASE2,CATALINA_HOME 改为 CATALINA_HOME2;
- 把 D:\user3\tomcat5.5\bin\目录下的 catalina.bat 和 startup.bat 中的
- CATALINA_BASE 改为 CATALINA_BASE3,CATALINA_HOME 改为 CATALINA_HOME3;
- 4、现在直接运行 startup.bat。
- 1、 在 LINUX 中启动多个 TOMCAT。(同样以三个为例)
- 方法一(单用户方式)
- 在 LINUX 中单用户模式下启动多个 TOMCAT,和在 WINDOWS 中启多个 TOMCAT 的第二种方
- 法类似。大家可以试试。我重点介绍方法二。
- 方法二(多用户方式)
- 最后介绍一种我原创的在 LINUX 中启动多个 TOMCAT 的方法,此方法是我借鉴以上
- 几种方法总结出来的。
- 1、建立 LINUX 用户和组
- Groupadd tomcat
- Useradd user1 -g tomcat
- Useradd user2 -g tomcat
- Useradd user3 -g tomcat
- 2、解压 tar 包的 TOMCAT 到用户主目录中,目录名统一定为 TOMCAT5.5。目录结构
- 如下:
- /home/user1/tomcat5.5/
- /home/user2/tomcat5.5/
- /home/user3/tomcat5.5/
- 3、修改每个用户的配置文件(用户目录下的“.bash_profile“)加入以下内容。
- export CATALINA_BASE=/home/“username”/tomcat5.5
- export CATALINA_HOME=/home/“username”/tomcat5.5
- export PATH=.:$CATALINA_HOME/bin:$PATH
- 注:把“username”替换成“user1”“user2”“user3”
- 4、修改各 TOMCAT 中的“server.xml”文件。
- 修改<Server port="8005" shutdown="SHUTDOWN">中 8005 为其他端口
- 修改<Connector port="8040" maxHttpHeaderSize="8192"中 8080 为其他端口
- 修改<Connector port="8009"中 8009 为其他端口
- 如我把 d:\user1\tomcat5.5\conf\server.xml中以上的三个 port 分别 8001、8010、
- 8011;把 d:\user2\tomcat5.5\conf\server.xml 中的三个 port 分别设为 8002、8020、
- 8012;把 d:\user3\tomcat5.5\conf\server.xml 中的三个 port 分别设为 8003、8030、
- 8013。
- 5、为了方便启动 TOMCAT,在/usr/local/bin 目录下建立两个 shell 脚本文件,tup
- 和 tdown。
- tup 用来启动 TOMCAT
- #!/bin/sh
- cd ~
- cd tomcat5.5.25/bin
- sh startup.sh
- tdown 用来关闭 TOMCAT。
- #!/bin/sh
- cd ~
- cd tomcat5.5.25/bin
- sh shutdown.sh
- 这样 user1-3 不管在什么目录下,都可以使用以上两个命令来启动、关闭 TOMCAT。
- 他们每个人都可以启动关闭自己的 TOMCAT,但不能关闭其他用户的 TOMCAT,这样也十
- 分安全。
- 总结:WINDOWS 下方式一简单方便实用。LINUX 下方法二,简单方便安全,此方法是
- 我最喜欢的方法,也是我认为最好、最安全的方法。