tomcat搭建及故障排查

各种版本:https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/
下载tomcat
wget  -P  /app/tools/   https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.50/bin/apache-tomcat-8.5.50.tar.gz

下载jdk
wget   -P  /app/tools/   http://47.111.238.157/jdk-8u241-linux-x64.tar.gz

用于快速启动tomcat

yum install rng-tools

部署 jdk

[root@oldboy-tomcat ~]# tar xf  /app/tools/jdk-8u241-linux-x64.tar.gz -C   /app/
[root@oldboy-tomcat ~]# ln -s  /app/jdk1.8.0_241/  /app/jdk

java jdk 环境变量

cat  >>/etc/profile<<'EOF'
export JAVA_HOME=/app/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export TOMCAT_HOME=/app/tomcat
EOF
[root@oldboy-tomcat ~]# .  /etc/profile

检查 jdk是否部署完成

[root@oldboy-tomcat ~]# java  -version  
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)

部署 tomcat

[root@oldboy-tomcat ~]# tar xf  /app/tools/apache-tomcat-8.5.50.tar.gz  -C  /app/
[root@oldboy-tomcat ~]# ln -s  /app/apache-tomcat-8.5.50/ /app/tomcat
##检查  jdk+tomcat
[root@oldboy-tomcat ~]# /app/tomcat/bin/version.sh 
Using CATALINA_BASE:   /app/tomcat
Using CATALINA_HOME:   /app/tomcat
Using CATALINA_TMPDIR: /app/tomcat/temp
Using JRE_HOME:        /app/jdk
Using CLASSPATH:       /app/tomcat/bin/bootstrap.jar:/app/tomcat/bin/tomcat-juli.jar
Server version: Apache Tomcat/8.5.50
Server built:   Dec 7 2019 19:19:46 UTC
Server number:  8.5.50.0
OS Name:        Linux
OS Version:     4.18.0-80.11.2.el8_0.x86_64
Architecture:   amd64
JVM Version:    1.8.0_241-b07
JVM Vendor:     Oracle Corporation

启动

[root@oldboy-tomcat ~]# /app/tomcat/bin/startup.sh
Using CATALINA_BASE:   /app/tomcat
Using CATALINA_HOME:   /app/tomcat
Using CATALINA_TMPDIR: /app/tomcat/temp
Using JRE_HOME:        /app/jdk
Using CLASSPATH:       /app/tomcat/bin/bootstrap.jar:/app/tomcat/bin/tomcat-juli.jar
Tomcat started.

查看端口

[root@oldboy-tomcat ~]# ss -lntup|grep tomcat 
[root@oldboy-tomcat ~]# ss -lntup|grep java 
tcp   LISTEN  0       1                  127.0.0.1:8005           0.0.0.0:*      users:(("java",pid=3747,fd=81))                                                
tcp   LISTEN  0       100                  0.0.0.0:8009           0.0.0.0:*      users:(("java",pid=3747,fd=60))                                                
tcp   LISTEN  0       100                  0.0.0.0:8080           0.0.0.0:*      users:(("java",pid=3747,fd=55))                                                

判断本脚本是否能“执行”

写在脚本最后一行
"$PRGDIR"/"$EXECUTABLE" start "$@"
/app/tomcat/bin/catalina.sh  start

修改tomcat管理页面

[root@oldboy-tomcat tomcat]# cat   conf/tomcat-users.xml 
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">
  <role rolename="manager-gui"/>
  <role rolename="admin-gui"/>
  <user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>
</tomcat-users>

解除限制

sed -i.bak 's#127#\\d+#g'   ./webapps/host-manager/META-INF/context.xml ./webapps/manager/META-INF/context.xml

重启

[root@oldboy-tomcat tomcat]# /app/tomcat/bin/shutdown.sh 
Using CATALINA_BASE:   /app/tomcat
Using CATALINA_HOME:   /app/tomcat
Using CATALINA_TMPDIR: /app/tomcat/temp
Using JRE_HOME:        /app/jdk
Using CLASSPATH:       /app/tomcat/bin/bootstrap.jar:/app/tomcat/bin/tomcat-juli.jar
[root@oldboy-tomcat tomcat]# ps -ef |grep java 
root      3908  1724  0 11:05 pts/1    00:00:00 grep --color=auto java
[root@oldboy-tomcat tomcat]# /app/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /app/tomcat
Using CATALINA_HOME:   /app/tomcat
Using CATALINA_TMPDIR: /app/tomcat/temp
Using JRE_HOME:        /app/jdk
Using CLASSPATH:       /app/tomcat/bin/bootstrap.jar:/app/tomcat/bin/tomcat-juli.jar
Tomcat started.

用于多实例替换服务端口

sed  -i.bak  's#8005#8006#g'  tomcat_8081/conf/server.xml 
sed  -i.bak  's#8080#8081#g'  tomcat_8081/conf/server.xml 
sed  -i.bak  's#8009#8010#g'  tomcat_8081/conf/server.xml

用户监控tomcat配置文件

catalina.sh

CATALINA_OPTS="$CATALINA_OPTS \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=12345 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Djava.rmi.server.hostname=本机IP地址"

tomcat负载高故障排查

##查看pid
1.ps -ef |grep java
##查看线程
2.top -Hp java的pid
如top -Hp 903
##转换16进制id
3.echo 'obase=16;java线程ID' |bc
如echo 'obase=16;1071' |bc
##查询过滤线程信息
4.jstack java的pid |grep -i 线程16进制id  -A 10
如jstack 903 |grep -i 42e -A 10
5.显示jvm内存使用情况
 jmap -heap 进程id 

6.jvm内存导出
jmap -dump:format=b,file=/root/tomcat.bin 进程pid

7.导出/root/tomcat.bin交给开发人员分析
sz /root/tomcat.bin
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值