在 Debian 下配置 Tomcat,通常分为 安装、目录配置、端口/用户/开机自启、部署应用 几个部分。下面以 Tomcat 9(最常见) 为例,逐步说明。
sudo apt update
sudo apt install tomcat9 tomcat9-admin tomcat9-examples
安装完成后,Tomcat 会自动:
/var/lib/tomcat9/etc/tomcat9/var/log/tomcat9查看状态:
systemctl status tomcat9
启动 / 停止 / 重启:
sudo systemctl start tomcat9
sudo systemctl stop tomcat9
sudo systemctl restart tomcat9
设置开机自启:
sudo systemctl enable tomcat9
浏览器访问:
http://服务器IP:8080
| 路径 | 说明 |
|---|---|
/etc/tomcat9/ |
配置文件 |
/var/lib/tomcat9/ |
Tomcat 主目录 |
/var/lib/tomcat9/webapps/ |
应用部署目录 |
/var/log/tomcat9/ |
日志 |
/usr/share/tomcat9/ |
基础库 |
编辑:
sudo nano /etc/tomcat9/server.xml
找到:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改端口号,例如改成 80:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
⚠️ 注意:Linux 下非 root 用户不能监听 80 端口,建议用 Nginx 反向代理。
编辑:
sudo nano /etc/tomcat9/tomcat-users.xml
在 <tomcat-users> 中加入:
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="123456" roles="manager-gui,admin-gui"/>
重启:
sudo systemctl restart tomcat9
访问:
http://IP:8080/manager/html
默认只允许 localhost 访问管理页面。
如需远程访问:
sudo nano /var/lib/tomcat9/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" />
-->
⚠️ 生产环境不建议开放
cp yourapp.war /var/lib/tomcat9/webapps/
Tomcat 会自动解压。
访问:
http://IP:8080/yourapp
sudo nano /etc/tomcat9/Catalina/localhost/yourapp.xml
内容:
<Context docBase="/data/projects/yourapp"
reloadable="true" />
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
journalctl -u tomcat9
ss -lntp | grep 8080
java -version
Tomcat 9 推荐 Java 8 / 11
sudo apt remove tomcat9 tomcat9-admin
sudo apt purge tomcat9
如果你愿意,我可以:
直接告诉我你的 Debian 版本 + Tomcat 版本 + 报错信息 即可。