Linux环境下 Tomcat 配置全流程
一 准备与安装
sudo apt update && sudo apt install openjdk-11-jdk;安装后用 java -version 验证。wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gztar -xvzf apache-tomcat-9.0.56.tar.gz -C /opt/mv /opt/apache-tomcat-9.0.56 /opt/tomcat。二 环境变量与服务管理
echo 'CATALINA_HOME=/opt/tomcat' | sudo tee -a /etc/environment && source /etc/environmentecho 'export CATALINA_HOME=/opt/tomcat' >> ~/.bashrc && source ~/.bashrccd $CATALINA_HOME/bin./startup.sh 或 ./catalina.sh start./shutdown.sh 或 ./catalina.sh stopservice tomcat start|stop|restart):
sudo vim /etc/init.d/tomcat,内容示例:#!/bin/bash
# description: Tomcat Start Stop Restart
# processname: tomcat
# chkconfig: 234 20 80
CATALINA_HOME=/opt/tomcat
case $1 in
start) $CATALINA_HOME/bin/startup.sh ;;
stop) $CATALINA_HOME/bin/shutdown.sh ;;
restart) $CATALINA_HOME/bin/shutdown.sh; sleep 2; $CATALINA_HOME/bin/startup.sh ;;
*) echo "Usage: $0 {start|stop|restart}"; exit 1 ;;
esac
exit 0
sudo chmod +x /etc/init.d/tomcat && sudo chkconfig --add tomcat && sudo chkconfig tomcat on。三 端口与防火墙
$CATALINA_HOME/conf/server.xml,找到 <Connector port="8080" ... />,将 8080 改为需要的端口(如 80 以直接通过 HTTP 访问)。sudo ufw allow 8080/tcpsudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reloadsudo iptables -I INPUT -p tcp --dport 8080 -j ACCEPT && sudo service iptables save && sudo service iptables restarthttp://服务器IP:端口,出现 Tomcat 欢迎页即成功。四 部署 Web 应用
$CATALINA_HOME/webapps/,Tomcat 会自动解压部署,访问路径通常为 http://IP:端口/应用名。$CATALINA_HOME/conf/tomcat-users.xml 添加管理用户(请使用强密码):<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="StrongPass!23" roles="manager-gui,admin-gui"/>
重启后在 http://IP:端口/manager/html 登录并使用 Manager App 部署/管理应用。五 常见问题与优化
ss -tulpen | grep 8080 或 lsof -i:8080;必要时 kill 占用进程后重启 Tomcat。sudo chown -R tomcat:tomcat $CATALINA_HOME(创建专用用户更佳)。$CATALINA_HOME/bin/catalina.sh(或 setenv.sh)中设置 JAVA_OPTS,如:JAVA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC"(按服务器内存与应用负载调整)。catalina.out 与 logs/ 下各类日志定位启动失败、内存溢出等问题:tail -f $CATALINA_HOME/logs/catalina.out。