在 Debian 系统上配置 Apache Tomcat,一般流程包括 安装 JDK、下载/安装 Tomcat、配置环境变量、配置用户与端口、设置开机自启 等。下面以 Tomcat 9 + Debian 11/12 为例,给你一套常用且规范的配置方法。
Tomcat 依赖 Java 环境。
sudo apt update
sudo apt install openjdk-11-jdk -y
验证:
java -version
输出类似:
openjdk version "11.0.20"
不建议用 root 运行 Tomcat。
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
前往官网查看最新版本:
https://tomcat.apache.org/
cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.85/src/apache-tomcat-9.0.85.tar.gz
(版本号可自行替换)
tar -xzf apache-tomcat-9.0.85.tar.gz
sudo mv apache-tomcat-9.0.85 /opt/tomcat
sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod -R 755 /opt/tomcat
编辑文件:
sudo nano /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
⚠️
JAVA_HOME路径可用update-alternatives --config java查看
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
查看状态:
sudo systemctl status tomcat
编辑用户配置文件:
sudo nano /opt/tomcat/conf/tomcat-users.xml
在 <tomcat-users> 标签内添加:
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="admin123" roles="manager-gui,admin-gui"/>
⚠️ 生产环境请使用强密码
默认只允许 localhost 访问。
编辑:
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
注释掉:
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
重启 Tomcat:
sudo systemctl restart tomcat
浏览器访问:
http://服务器IP:8080
管理页面:
http://服务器IP:8080/manager/html
编辑:
sudo nano /opt/tomcat/conf/server.xml
修改:
<Connector port="8080" protocol="HTTP/1.1" ... />
例如改为 80 或 8888
sudo ufw allow 8080/tcp
sudo ufw reload
tail -f /opt/tomcat/logs/catalina.out
update-alternatives --config java
如果你需要:
可以直接告诉我你的 Debian 版本和使用场景。