A CentOS has JDK1.7, Tomcat7, JDK1.8, Tomcat 8. For the convenience of switching, use the alternatives command
reference link: Install multiple versions of JDK with the alternatives command .
Reference link: alternatives command usage .
Download Tomcat
Download link: Tomcat8 .
Download link: Tomcat7 .
Install Tomcat command
// create tomcat dir
cd /usr/local/ && mkdir tomcat
//
tar -zxvf apache-tomcat-8.5.64.tar.gz
mv apache-tomcat-8.5.64 /usr/local/tomcat/tomcat8
//
tar -zxvf apache-tomcat-7.0.108.tar.gz
mv apache-tomcat-7.0.108 /usr/local/tomcat/tomcat7
Add alternatives version
// tomcat8 默认
alternatives --install /usr/bin/catalina.sh catalina /usr/local/tomcat/tomcat7/bin/catalina.sh 10
alternatives --install /usr/bin/catalina.sh catalina /usr/local/tomcat/tomcat8/bin/catalina.sh 20
// 设置模式为auto,系统自动判定优先级高的为默认,模式有auto和manual
alternatives --auto catalina
// alter tomcat command
[root@centos7-18 home]# alternatives --config catalina
共有 2 个提供“catalina”的程序。
选项 命令
-----------------------------------------------
1 /usr/local/tomcat/tomcat7/bin/catalina.sh
*+ 2 /usr/local/tomcat/tomcat8/bin/catalina.sh
按 Enter 保留当前选项[+],或者键入选项编号:
Modify Tomcat configuration
// Edit tomcat7 catalina.sh
vim /usr/local/tomcat/tomcat7/bin/catalina.sh
// 在catalina.sh文件开头添加以下设置,如果是独占服务器设置为内存的一半。
# -----------------------------------------------------------------------------
JAVA_OPTS="-server -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Xms512m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=256m"
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=8 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -XX:+PrintGCApplicationStoppedTime -Xloggc:gc.out -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=javadump/"
# OS specific support. $var _must_ be set to either true or false.
// Edit tomcat8 catalina.sh
vim /usr/local/tomcat/tomcat8/bin/catalina.sh
// 在catalina.sh文件开头添加以下设置,如果是独占服务器设置为内存的一半。
# -----------------------------------------------------------------------------
JAVA_OPTS="-server -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Xms512m -Xmx512m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m"
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=8 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -XX:+PrintGCApplicationStoppedTime -Xloggc:gc.out -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=javadump/"
# OS specific support. $var _must_ be set to either true or false.
Modify environment variables
// 编辑/etc/profile
vim /etc/profile
Add tomcat environment variable in profile
// 获取java版本,见下参考链接
VER=$(java -version 2>&1 | sed '1!d' | sed -e 's/"//g' | awk '{print $3}')
// jdk1.7 对应tomcat7目录
if [[ $VER == *1.7.0* ]]
then
CATALINA_HOME='/usr/local/tomcat/tomcat7'
// jdk1.8 对应tomcat8目录
elif [[ $VER = *1.8.0* ]]
then
CATALINA_HOME='/usr/local/tomcat/tomcat8'
else
CATALINA_HOME=""
fi
// 如果CATALINA_HOME有值,就添加路径
if [[ CATALINA_HOME != "" ]]
then
CLASSPATH=$CLASSPATH:$CATALINA_HOME/lib
PATH=$CATALINA_HOME/bin:$PATH
export CATALINA_HOME CLASSPATH PATH
fi
Reference link: linux shell get java version number .
Reload to make environment variables take effect
// 编辑/etc/profile
source /etc/profile