Debian 上 Tomcat 的监控与管理
一 服务管理与日常运维
使用 systemd 托管 Tomcat(推荐)
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
sudo systemctl status tomcat
sudo systemctl stop tomcat
sudo systemctl restart tomcat
兼容旧系统的 SysV 方式
sudo service tomcat status
sudo service tomcat start|stop|restart
二 运行状态与可用性检查
ps -ef | grep tomcat
sudo ss -tulpen | grep ':8080'
tail -f /opt/tomcat/logs/catalina.out
curl -I http://localhost:8080/
top -p "$(pidof java)"
htop
free -m
df -h
vmstat 1 5
iostat -x 1 5
uptime
CATALINA_OPTS="$CATALINA_OPTS \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=8081 \
-Djava.rmi.server.hostname=YOUR_SERVER_IP \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false"
三 性能与健康监控方案
四 自动化运维与稳定性实践
-Xms512M -Xmx1024M -server -XX:+UseParallelGC。