CentOS 7 adds multi-version Tomcat

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

Guess you like

Origin blog.csdn.net/shijin741231/article/details/115117039