开两个tomcat 方法(转)

本文详细介绍了如何在本地环境中下载、解压、配置、启动两个不同端口的Tomcat服务器,并提供了环境变量设置的步骤及可能出现的错误解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开两个tomcat 方法
文章分类:Java编程
转的。。。

1 下载tomcat的压缩包(不是安装的那种,直接解压缩就能用的)
下载地址:http://tomcat.apache.org/download-55.cgi
下载好的文件名是:apache-tomcat-5.5.23.zip

2 解压缩。我解压缩到了C:\
分别是C:\apache-tomcat-5.5.23-1,C:\apache-tomcat-5.5.23-2

3 修改任意一个的配置文件
比如apache-tomcat-5.5.23-1,
C:\apache-tomcat-5.5.23-1\conf\server.xml用记事本什么的打开
修改3个地方

第一:
<Server port="9005" shutdown="SHUTDOWN"> ----原来是8005

第二:
<Connector port="9080" maxHttpHeaderSize="8192" ----原来是8080

第三:
<Connector port="9009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> ---原来是8009

然后保存

4 开启第一个tomcat
运行-cmd
设置两个环境变量:JAVA_HOME(指向jdk)和CATALINA_HOME(指向Tomcat目录)
在命令行打:set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_11
set CATALINA_HOME=C:\apache-tomcat-5.5.23-1
可以运行tomcat了,命令:C:\apache-tomcat-5.5.23-1\bin\startup.bat
(关闭可以用C:\apache-tomcat-5.5.23-1\bin\shutdown.bat)


4 开启第二个tomcat
运行-cmd(打开了另一个命令窗口)
还是要设置两个环境变量:JAVA_HOME(指向jdk)和CATALINA_HOME(指向Tomcat目录)
在命令行打:set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_11
set CATALINA_HOME=C:\apache-tomcat-5.5.23-2 (注意tomcat目录我指向了另一个)
可以运行tomcat了,命令:C:\apache-tomcat-5.5.23-2\bin\startup.bat 注意也是另一个--5.5.23-2)
(关闭可以用C:\apache-tomcat-5.5.23-2\bin\shutdown.bat)(注意也是另一个--5.5.23-2)

完毕

备注:
可能的错误:

1 命令行提示:The CATALINA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
翻译:这个CATALINA_HOME环境变量没有正确的定义
这个程序运行需要这个环境变量
解决:用我上边的set命令设置CATALINA_HOME即可

2 命令行提示: Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
翻译:JAVA_HOME或者JRE_HOME环境变量任意一个都没有定义
这个程序运行需要(这两个中的)至少一个环境变量
解决:用我上边的set命令设置JAVA_HOME即可
3 命令行提示:The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE
翻译:JAVA_HOME环境变量没有正确的定义
这个程序运行需要这个环境变量
JAVA_HOME应该指向JDK而不是JRE
解决:用我上边的set命令设置JAVA_HOME,确信指向了JDK的目录

4 关于修改的端口号:只要不是常见端口号就行,别设置常见端口号
下边的是比较常见的,别设置成这些就行基本9000多都没人用

服务名称    端口号/协议[别名]       #注释

ftp-data    20/tcp            #FTP, data
ftp       21/tcp            #FTP. control
telnet     23/tcp 
smtp      25/tcp mail          #Simple Mail Transfer Protocol
time      37/tcp timserver 
time      37/udp timserver 
domain     53/tcp            #Domain Name Server
domain     53/udp            #Domain Name Server
tftp      69/udp            #Trivial File Transfer
gopher     70/tcp 
http      80/tcp www www-http      #World Wide Web
pop3      110/tcp            #Post Office Protocol - Version 3
nntp      119/tcp usenet        #Network News Transfer Protocol
netbios-ns   137/tcp nbname        #NETBIOS Name Service
netbios-ns   137/udp nbname        #NETBIOS Name Service
netbios-dgm   138/udp nbdatagram      #NETBIOS Datagram Service
netbios-ssn   139/tcp nbsession       #NETBIOS Session Service
imap      143/tcp imap4         #Internet Message Access Protocol
snmp      161/udp            #SNMP
snmptrap    162/udp snmp-trap       #SNMP trap
irc       194/tcp            #Internet Relay Chat Protocol 
ipx       213/udp            #IPX over IP
ldap      389/tcp            #Lightweight Directory Access Protocol
https      443/tcp MCom 
https      443/udp MCom 
uucp      540/tcp uucpd 
ldaps      636/tcp sldap         #LDAP over TLS/SSL
doom      666/tcp            #Doom Id Software
doom      666/udp            #Doom Id Software
phone      1167/udp           #Conference calling
ms-sql-s    1433/tcp           #Microsoft-SQL-Server 
ms-sql-s    1433/udp           #Microsoft-SQL-Server 
ms-sql-m    1434/tcp           #Microsoft-SQL-Monitor
ms-sql-m    1434/udp           #Microsoft-SQL-Monitor 
wins      1512/tcp           #Microsoft Windows Internet Name Service
wins      1512/udp           #Microsoft Windows Internet Name Service
l2tp      1701/udp           #Layer Two Tunneling Protocol
pptp      1723/tcp           #Point-to-point tunnelling protocol
radius     1812/udp           #RADIUS authentication protocol
radacct     1813/udp           #RADIUS accounting protocol
nfsd      2049/udp nfs         #NFS server
knetd      2053/tcp           #Kerberos de-multiplexor
man       9535/tcp           #Remote Man Server
### 多个Tomcat实例的配置与管理 为了实现多个Tomcat实例的运行,通常需要对每个实例进行独立的配置和资源分配。以下是关于如何配置和管理两个Tomcat实例的关键点: #### 1. 安装与环境准备 在安装Tomcat之前,必须确保已正确安装JDK[^2]。可以通过以下命令验证Java版本: ```bash java -version ``` 如果尚未安装JDK,请先完成其安装。 --- #### 2. 创建多个Tomcat实例 创建第二个Tomcat实例的方法之一是复制现有的Tomcat目录结构。例如,在Linux环境下执行如下命令: ```bash cp -a /usr/local/tomcat/tomcat1 /usr/local/tomcat/tomcat2 ``` 这会将`tomcat1`完整复制为`tomcat2`[^3]。 --- #### 3. 修改端口号以避免冲突 由于默认情况下所有Tomcat实例共享相同的端口设置(如8080),因此需要分别为每个实例指定不同的端口号。编辑每个实例下的`conf/server.xml`文件并更改相关参数。例如: 对于第一个实例`tompact1`保持默认端口不变: ```xml <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> ``` 而对于第二个实例`tomcat2`,修改端口为其他未占用值(如8081): ```xml <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8444" /> ``` 同时还需要注意其他可能冲突的端口,比如AJP Connector、Shutdown Port等[^1]。 --- #### 4. 调整日志路径和其他资源配置 为了避免日志文件覆盖或其他资源共享问题,需分别定义各实例的日志存储位置及其他临时文件夹。可以在`catalina.sh`中添加特定变量来区分这些路径。例如: ```bash export CATALINA_BASE=/usr/local/tomcat/tomcat2 export JAVA_OPTS="-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m" ``` 上述命令设置了`CATALINA_BASE`指向新的实例根目录,并通过`JAVA_OPTS`调整了JVM内存参数。 --- #### 5. 使用Nginx作为反向代理 当存在多个Tomcat实例时,可通过Nginx对外提供统一访问入口。具体做法是在Nginx配置文件中加入对应规则。假设两台Tomcat分别监听于8080和8081端口,则可这样写入location部分: ```nginx server { listen 80; server_name example.com; location /app1/ { proxy_pass http://localhost:8080/app1/; } location /app2/ { proxy_pass http://localhost:8081/app2/; } } ``` 此方式允许用户仅通过单一域名即可访问不同后台服务[^4]。 --- #### 6. 测试与启动 最后确认无误后依次启动各个Tomcat进程。每回都应切换至相应的工作目录再调用startup脚本操作: ```bash cd /usr/local/tomcat/tomcat1/bin && ./startup.sh cd /usr/local/tomcat/tomcat2/bin && ./startup.sh ``` --- ### 总结 以上介绍了从基础到高级层面有关多Tomcat实例部署的技术细节,包括但不限于基本概念理解、实际动手指南以及性能优化建议等内容[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值