1. 定义Tomcat 使用的 JDK 版本
在setclasspath.sh(bin目录下)文件的最前面增加如下配置:
JAVA_HOME="/usr/local/java/jdk1.8.0_181"
JRE_HOME="/usr/local/java/jdk1.8.0_181/jre"
tisp :以上内容添加在catalina.sh中同样有效。
2. 解决tomcat多进程问题
在日常使用tomcat的时候有时候启动tomcat莫名其妙的就会产生多个java进程,而且这些进程还是有效的。这样就会导致端口冲突进而使tomcat假死或者挂掉。有时候强行杀掉进程还会出现defunct现象,导致java进程在好久的时间内无法杀掉。
解决方法 1.定义tomcat.pid 思路是在启动了一个tomcat进程后,会定义一个线程PID ,届时如果不杀掉此进程是无法启动第二个tomcat进程的。
- 配置Tomcat PID 并写入$TOMCATHOME/bin/tomcat.pid文件内
-
修改$TOMCAT_HOME/bin/catalina.sh文件,在PRGDIR下面一行添加CATALINAPID参数,如下:
PRGDIR=`dirname "$PRG"`
CATALINA_PID=/app/apache-tomcat-8.0.35/temp/tomcat.pid (自定义目录) -
编写tomcat 重启脚本restart.sh
#!/bin/bash
tomcat_home=/app/apache-tomcat-8.0.35
kill -9 `cat $tomcat_home/temp/tomcat.pid`
echo "killed tomcat"
$tomcat_home/bin/startup.sh
sleep 3 -
保存文件,添加权限
chmod +x restart.sh
3.以上内容还可以进行一下合并
在bin目录下创建 setenv.sh 文件,tomcat 在启动过程会读取此配置文件。
- 添加PID
#add tomcat pid
CATALINA_PID="/var/run/tomcat.pid"
- 添加JAVA_HOME
#add JAVA_HOME
JAVA_HOME=/usr/java/jdk*
- 定义java.options
#add JAVA_OPTS
JAVA_OPTS="-server -Xms6144m -Xmx6144m -XX:PermSize=1024m -XX:MaxPermSize=1024m -XX:MaxNewSize=1024m"