在 Ubuntu 上使用 Tomcat 管理应用的实用指南
一 环境准备与安装
sudo apt update && sudo apt install openjdk-11-jdkjava -versionsudo useradd -m -U -d /opt/tomcat -s /bin/false tomcatVERSION=9.0.99wget https://dlcdn.apache.org/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz -P /tmpsudo tar -xf /tmp/apache-tomcat-${VERSION}.tar.gz -C /opt/sudo mv /opt/apache-tomcat-${VERSION} /opt/tomcatsudo chown -R tomcat: /opt/tomcatsudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' | sudo tee -a /etc/environmentecho 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' | sudo tee /opt/tomcat/bin/setenv.sh && sudo chmod +x /opt/tomcat/bin/setenv.shsudo ufw allow 8080/tcp二 以 SystemD 管理 Tomcat 服务
sudo nano /etc/systemd/system/tomcat.service[Unit]
Description=Tomcat 9 servlet container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
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-reloadsudo systemctl enable --now tomcatsudo systemctl status tomcat、sudo systemctl restart tomcat、sudo journalctl -u tomcat -f三 配置管理界面与访问控制
<tomcat-users> 内添加):<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="StrongPass!2025" roles="manager-gui,admin-gui"/>
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|203\.0\.113\.\d+|你的公网IP" />
sudo systemctl restart tomcathttp://<服务器IP>:8080http://<服务器IP>:8080/manager/htmlhttp://<服务器IP>:8080/host-manager/html四 部署与日常运维
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="8443" />
sudo tail -f /opt/tomcat/logs/catalina.out-Xms512M -Xmx1024M -server -XX:+UseParallelGCpom.xml 设置 <packaging>war</packaging>configure 方法,便于外置 Tomcat 部署。五 安全加固建议
^.*$。