温馨提示×

Debian与Tomcat如何配合运行JSP

小樊
43
2026-01-03 08:05:56
栏目: 编程语言

在 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/):
    • index.jsp
  • 说明: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 端口与证书管理。

0