Tomcat 常用配置及多线程问题

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"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值