安装Tomcat指定JDK

本文介绍如何在一台服务器上安装并配置多个不同版本的Tomcat及对应的JDK环境,解决端口冲突问题,确保每个业务能够独立运行。

一、应用实例

      一般情况下一台服务器只跑一个业务,那么就直接配置一套环境,设置好Java环境变量即可。某些时候一台服务器上会安装多个业务,而且各个业务需要的JDK版本各不相同,或者为了使业务独立开来,需要指定Tomcat的JDK。

      现假设某个业务的Tomcat(apache-tomcat-6.0.32)需要用到该版本JDK(jdk1.6.0_18),JDK安装目录为 "/usr/local/java/jdk1.6.0_18"。

 

二、安装Tomcat

      1、通过Apache官网下载获得Tomcat(apache-tomcat-6.0.32.tar.gz),将文件上传至指定目录,解压Tomcat安装。我上传至Linux服务器的 "/home/appuser/yuexin/" 目录下,取名为 "tomcat-yuexin" 。命令如下:

# tar zxvf apache-tomcat-6.0.32.tar.gz

# mv apache-tomcat-6.0.32 tomcat-yuexin

 

      2、修改Tomcat三个配置文件,"tomcat/bin/catalina.sh" 、 "tomcat/bin/setclasspath.sh" 、 "tomcat/conf/server.xml" 。

           1) 在catalina.sh文件和setclasspath.sh文件开头的空白处加上如下两句(指定JDK):

export JAVA_HOME=/usr/local/java/jdk1.6.0_18
export JRE_HOME=/usr/local/java/jdk1.6.0_18/jre

           2) 修改server.xml文件如下内容(解决多个Tomcat启动、停止端口冲突问题):

复制代码
<Server port="8005" shutdown="SHUTDOWN">    ---->    <Server port="8195" shutdown="SHUTDOWN">

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />    ---->    <Connector port="8091" protocol="HTTP/1.1"  maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" />

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />    ---->    <Connector port="8199" protocol="AJP/1.3" redirectPort="8443" />

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">    ---->    <Host name="10.10.3.54"  appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" ><Context path="" docBase="ROOT" reloadable="true"></Context></Host>
复制代码


三、启动,停止Tomcat验证安装

      1、启动Tomcat,并查看进程。如下:

复制代码
# cd bin/
# ./startup.sh

# ps -ef|grep tomcat
root     25178     1  0 09:46 ?        00:00:30 /usr/local/java/jdk1.6.0_18/jre/bin/java -Djava.util.logging.config.file=/home/appuser/yuexin/tomcat-yuexin/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/home/appuser/yuexin/tomcat-yuexin/endorsed -classpath /home/appuser/yuexin/tomcat-yuexin/bin/bootstrap.jar -Dcatalina.base=/home/appuser/yuexin/tomcat-yuexin -Dcatalina.home=/home/appuser/yuexin/tomcat-yuexin -Djava.io.tmpdir=/home/appuser/yuexin/tomcat-yuexin/temp org.apache.catalina.startup.Bootstrap start
root     26513 26303  0 14:48 pts/0    00:00:00 grep tomcat

# ./shutdown.sh
复制代码


      从进程信息可以看出Tomcat使用的JDK环境为 "/usr/local/java/jdk1.6.0_18" ,并且能正常启动和停止,启动后访问该服务器相应端口能看到Apach Tomcat的欢迎界面,停止时不影响其他应用进程。至此安装配置完成。



### 如何在Tomcat中配置指定JDK版本 为了使Tomcat运行于特定版本的JDK,可以通过修改相关配置文件来实现这一目标。以下是针对不同操作系统以及安装类型的详细说明。 #### Linux系统中的配置方法 对于Linux系统的Tomcat实例,需编辑`catalina.sh`和`setclasspath.sh`两个脚本文件。具体操作是在这些文件的开头部分添加以下两行代码: ```bash export JAVA_HOME=/usr/local/java/jdk1.8.0_351 export JRE_HOME=/usr/local/java/jdk1.8.0_351/jre ``` 完成上述更改之后,记得重新启动Tomcat服务以应用新的设置[^1]。 #### Windows系统上的解压版配置 如果使用的是Windows平台上的解压版Tomcat,则应调整位于`bin/setclasspath.bat`内的内容,在该批处理文件的第一行加入下面的内容: ```batch set JAVA_HOME=E:\JDK\jdk1.7.0_67 set JRE_HOME=E:\JDK\jre7 ``` 保存并关闭文件后,利用`bin/startup.bat`正常启动Tomcat即可生效[^2]。 #### Windows系统上的安装版配置 而对于Windows环境下通过安装程序部署的Tomcat情况稍有差异。首先需要借助命令提示符访问至Tomcat根目录下的`bin`子目录执行如下指令创建或移除Windows服务: ```batch service.bat install service.bat remove ``` 接着同样打开`bin/service.bat`这个批处理文件,并在其顶部追加类似这样的定义语句: ```batch set JAVA_HOME=E:\JDK\jdk1.7.0_67 set CATALINA_HOME=E:\tomcat\apache-tomcat-8.5.36 set JRE_HOME=%JAVA_HOME%\jre ``` 最后一步依旧是重启整个Tomcat应用程序让改动起作用。 #### 验证配置是否成功 无论采用哪种方式进行设定,都可以通过查阅日志文档确认最终效果。通常情况下,新产生的日志记录会显示所使用的Java虚拟机的具体信息,比如版本号等细节。路径一般指向`${TOMCAT_HOME}/logs/catalina.out`或者日期命名的日志文件里查找包含关键字`JVM Version`的部分[^2]。 另外还可以运用专门工具如`jps`配合`jinfo`命令组合查询正在运行进程中实际加载的JDK状况。先定位到对应的Tomcat进程编号,再进一步获取详细的属性列表加以核验[^4]。 --- 相关问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值