一、应用实例

一般情况下一台服务器只跑一个业务,那么就直接配置一套环境,设置好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" 。命令如下:

  各个版本tomcat的下载位置:https://archive.apache.org/dist/tomcat/tomcat-8/

# 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) 修改文件

      

#linux
在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
#window
在catalina.bat文件和setclasspath.bat文件开头的空白处加上如下两句(指定JDK):
set JAVA_HOME=d:\usr/local/java/jdk1.6.0_18
set JRE_HOME=d:\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路径的更多相关文章

  1. Tomcat指定JDK路径(Linux+Windows)

    当系统有多套JDK,不方便在系统配统一的JAVA_HOME时,我们可能想给tomcat指定JDK路径. 1.Linux下Tomcat指定JDK路径 找到$CATALINE_HOME/bin/catal ...

  2. (转)如何在eclipse的配置文件里指定jdk路径

    本文转载自:http://songguoliang.iteye.com/blog/1752519 运行eclipse时报如下错误: 在eclipse的配置文件里指定jdk路径,只需在eclipse的配 ...

  3. linux 安装jdk及tomcat指定jdk版本推荐

    方法1:用yum命令安装 1.   查看当前jdk版本:Java –version,或者是:rpm -qa | grep jdk 2.   删除当前jdk:yum -y remove java-1.6 ...

  4. 在eclipse的配置文件里指定jdk路径

    在eclipse的配置文件里指定jdk路径,只需在eclipse的配置文件里增加-vm参数即可. 打开eclipse目录下的eclipse.ini配置文件,增加-vm配置,需要注意的是该参数要加在-v ...

  5. 为tomcat指定JDK版本

    可以为tomcat指定JDK. 当系统中安装有多个版本的jdk时,可以为tomcat指定jdk版本. 在catalina.sh文件和setclasspath.sh文件开头的空白处加上如下一行: exp ...

  6. 如何在eclipse的配置文件里指定jdk路径

    转载自:https://blog.csdn.net/gnail_oug/article/details/51925804:个人做了些小修改. 今天下载了eclipse4.6版本,打开时报Version ...

  7. 启动tomcat时为tomcat指定JDK

    背景:服务器环境:JDK1.7,Tomcat8 需求: 需要在Tomcat8部署项目,该项目需要运行在JDK1.8 将Tomcat8和JDK1.8上传至服务器,然后解压在指定目录下. 为tomcat指 ...

  8. 在linux环境下tomcat 指定 jdk或jre版本

    最近在服务器上部署的服务出了点问题,后来查到是因为JDK版本太高了,程序识别不了,需要把JDK降级. 但是服务器上面跑的程序很多,又不能直接把环境变量改了,所以只能想着怎么把这个出问题的工程服务指定j ...

  9. 安装Tomcat指定JDK(转)

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

随机推荐

  1. 002---rest_framework认证组件

    rest_framework认证组件 问题:有些API,需要用户登录才能访问,有些无需登录就能访问. 解决: a. 创建两个模型类:UserInfo---OneToOne---UsetToken b. ...

  2. Kafka跨网络访问设置

    实际场景: kafka应用通过docker进行部署并暴露出不同kafka节点到不同的指定端口: 业务系统通过虚拟机进行部署: docker宿主机与业务系统在同一个局域网: 报错: 业务系统连接kafk ...

  3. POJ_1679_The Unique MST(次小生成树)

    Description Given a connected undirected graph, tell if its minimum spanning tree is unique. Definit ...

  4. 浅谈style.height、clientHeight、offsetHeight、scrollHeight

    先分别介绍以下,以下资料来自MDN HTMLElement.offsetHeight 是一个只读属性,它返回该元素的像素高度,高度包含该元素的垂直内边距和边框,且是一个整数. Element.clie ...

  5. C#基础 const和readonly关键字

    静态常量 所谓静态常量就是在编译期间会对变量进行解析,再将常量的值替换成初始化的值.动态常量 所谓动态常量就是编译期间会将变量标记只读常量,而不用常量的值代替,这样在声明时可以不初始化,可以延迟到构造 ...

  6. 20155207 2006-2007-2 《Java程序设计》第3周学习总结

    20155207 2006-2007-2 <Java程序设计>第X周学习总结 教材学习内容总结 比较字符串实际字符内容是否相同,不要使用==,要使用equals() 关于类的语法问题 pu ...

  7. 20155310 《Java程序设计》实验三(敏捷开发与XP实践)实验报告

    20155310 <Java程序设计>实验三(敏捷开发与XP实践)实验报告 实验内容 1.XP基础 2.XP核心实践 3.相关工具 实验步骤 (一)敏捷开发与XP 1.敏捷开发 敏捷开发( ...

  8. c++ 时间函数和结构化数据

     time和localtime  数据结构概念  struct关键字  认识数据结构  自定义结构 例:获取当前系统日期和时间;(代码例子) 一.函数: time 函数time()返回的是当 ...

  9. [CF1042D] Petya and Array

    题面 题解 这道题目到底叫什么好呢?? 史上最短CDQ分治题 记一个前缀和,然后CDQ分治即可. 代码 #include<cstdio> #include<algorithm> ...

  10. Nginx入门篇(二)之Nginx部署与配置文件解析

    一.Nginx编译安装 ()查看系统环境 [root@localhost tools]# cat /etc/redhat-release CentOS Linux release (Core) [ro ...