在 Debian 上让 Tomcat 运行 JSP 的标准做法
一 准备环境
- 安装 OpenJDK 11(推荐 LTS):sudo apt update && sudo apt install -y openjdk-11-jdk;验证:java -version。
- 选择 Tomcat 形态:
- 系统包版:sudo apt install -y tomcat9(便于用 systemd 管理、目录标准化)。
- 官方二进制版:从 Apache 归档下载 Tomcat 9,解压至 /opt/tomcat,并配置环境变量(如 CATALINA_HOME)。
二 安装与启动 Tomcat
- 系统包版(推荐)
- 启动与开机自启:sudo systemctl start tomcat9;sudo systemctl enable tomcat9。
- 验证:浏览器访问 http://服务器IP:8080,看到 Tomcat 欢迎页即正常。
- 二进制版(手动管理)
- 创建专用用户:sudo groupadd tomcat;sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat。
- 赋权:sudo chown -R tomcat:tomcat /opt/tomcat。
- 启动:sudo -u tomcat /opt/tomcat/bin/startup.sh;如需 systemd,可创建 /etc/systemd/system/tomcat.service(Type=forking,ExecStart=/opt/tomcat/bin/startup.sh,ExecStop=/opt/tomcat/bin/shutdown.sh)。
三 部署与运行 JSP
- 方式 A:将应用打包为 WAR 并自动部署
- 示例:cd myapp && jar -cvf myapp.war .
- 部署:
- 系统包版:sudo cp myapp.war /var/lib/tomcat9/webapps/
- 二进制版:sudo cp myapp.war /opt/tomcat/webapps/
- 访问:http://服务器IP:8080/myapp/(默认欢迎页或 index.jsp)。
- 方式 B:放置到 ROOT 直出
- 将 index.jsp 放入:
- 系统包版:/var/lib/tomcat9/webapps/ROOT/
- 二进制版:/opt/tomcat/webapps/ROOT/
- 访问:http://服务器IP:8080/。
- 最小 web.xml 示例(放于 WEB-INF/):
- 说明:Tomcat 自带 Jasper JSP 引擎,默认已配置 *.jsp 映射,无需额外改动即可解析 JSP。
四 网络与防火墙
- 放行端口:sudo ufw allow 8080/tcp;如启用 HTTPS,另放行 8443/tcp。
- 云服务器安全组同样需要开放对应端口。
五 日志排错与安全加固
- 日志与排错
- 系统包版日志:/var/log/tomcat9/catalina.out,实时查看:tail -f /var/log/tomcat9/catalina.out。
- 二进制版日志:/opt/tomcat/logs/catalina.out。
- 启用 HTTPS(可选)
- 生成证书(示例用 certbot):sudo apt install -y certbot;sudo certbot --apache -d your_domain.com。
- 编辑 /etc/tomcat9/server.xml,启用 8443 连接器并配置证书路径(如 /etc/letsencrypt/live/your_domain.com/fullchain.pem 与 privkey.pem),重启 Tomcat。
- 管理界面与访问控制(可选)
- 编辑 /etc/tomcat9/tomcat-users.xml,添加用户与角色(如 manager-gui、admin-gui),注意强密码与仅内网访问。
- 反向代理与域名接入(可选)
- 使用 Nginx 反向代理到 http://localhost:8080,统一 80/443 端口与证书管理。