下面给你一份从零开始在 Debian 上安装并配置 Tomcat 的实用指南(以 Debian 11/12 + Tomcat 9/10 为例,适用于生产或学习环境)。
sudo apt update
sudo apt upgrade -y
Tomcat 9 需要 JDK 8+,Tomcat 10 需要 JDK 11+
# 以 JDK 11 为例(推荐)
sudo apt install -y openjdk-11-jdk
验证:
java -version
❗ Debian 仓库中的 Tomcat 版本通常偏旧,生产环境建议用官方包
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
前往:https://tomcat.apache.org/download-90.cgi
cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz
sudo tar -xzf apache-tomcat-9.0.85.tar.tar.gz -C /opt/tomcat --strip-components=1
sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod +x /opt/tomcat/bin/*.sh
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_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_BASE=/opt/tomcat"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
查看状态:
systemctl status tomcat
sudo ufw allow 8080/tcp
浏览器访问:
http://服务器IP:8080
编辑:
sudo nano /opt/tomcat/conf/tomcat-users.xml
示例:
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="强密码" roles="manager-gui,admin-gui"/>
编辑:
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
注释掉 IP 限制:
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" ... /> -->
重启:
sudo systemctl restart tomcat
编辑:
sudo nano /opt/tomcat/bin/setenv.sh
export JAVA_OPTS="-Xms512m -Xmx1024m"
location / {
proxy_pass http://127.0.0.1:8080;
}
✅ 端口被占用
sudo netstat -tulnp | grep 8080
✅ 权限错误
sudo chown -R tomcat:tomcat /opt/tomcat
✅ Java 路径不对
readlink -f $(which java)
如果你需要:
告诉我你的使用场景,我可以给你更精确的方案。