温馨提示×

Debian JSP如何进行项目部署

小樊
36
2025-12-30 10:29:02
栏目: 编程语言

Debian 上部署 JSP 项目的标准流程


一 准备环境与安装组件

  • 安装 Java(推荐 OpenJDK 11):
    • 执行:sudo apt update && sudo apt install openjdk-11-jdk
    • 验证:java -version 应显示 11.x 版本信息
  • 安装 Apache Tomcat 9(含管理组件,便于后续运维):
    • 执行:sudo apt install tomcat9 tomcat9-admin
    • 安装完成后会自动启动,默认端口 8080,可访问 http://服务器IP:8080 验证
  • 说明:Tomcat 是运行 JSP/Servlet 的标准容器,APT 安装便于使用系统服务管理

二 打包与部署应用

  • 打包为 WAR(两种方式)
    • Maven 项目:在项目根目录执行 mvn clean package,产物位于 target/xxx.war
    • 手动打包:在项目根目录执行 jar cvf myapp.war .(确保目录结构符合 Java Web 规范,静态资源在根目录,依赖在 WEB-INF/lib,配置在 WEB-INF/web.xml
  • 部署到 Tomcat
    • 方式 A(APT 安装):将 WAR 复制到 /var/lib/tomcat9/webapps/,Tomcat 会自动解压并部署,访问 http://IP:8080/应用名
    • 方式 B(手动安装到 /opt/tomcat):将 WAR 放入 /opt/tomcat/webapps/,Tomcat 同样会自动解压部署
  • 示例(APT 安装场景):
    • 本地构建后上传:scp target/myapp.war user@服务器IP:/var/lib/tomcat9/webapps/
    • 访问:http://服务器IP:8080/myapp(上下文路径默认与 WAR 文件名一致)

三 服务管理与访问控制

  • 防火墙放行(如使用 UFW
    • 放行 8080:sudo ufw allow 8080/tcp
    • 启用防火墙:sudo ufw enable
  • Tomcat 管理界面(可选)
    • 编辑 /etc/tomcat9/tomcat-users.xml,添加管理用户(请使用强密码):
      <tomcat-users>
        <role rolename="manager-gui"/>
        <role rolename="admin-gui"/>
        <user username="admin" password="StrongP@ssw0rd!" roles="manager-gui,admin-gui"/>
      </tomcat-users>
      
    • 重启:sudo systemctl restart tomcat9
    • 生产环境建议限制管理界面的来源 IP 或关闭对外访问

四 可选 反向代理与 HTTPS

  • 使用 Nginx + Certbot 提供 80/443 与自动证书
    • 安装:sudo apt install certbot python3-certbot-nginx
    • 获取证书:sudo certbot --nginx -d your_domain.com
    • 证书续期:sudo certbot renew --dry-run
  • 说明:Nginx 作为反向代理将 80/443 转发至 Tomcat 8080,便于统一证书管理与静态资源加速

五 常见问题与排查

  • 权限问题
    • 确保 Tomcat 用户对应用目录有读取权限,例如:sudo chown -R tomcat:tomcat /var/lib/tomcat9/webapps/
  • 端口冲突
    • 修改 /opt/tomcat/conf/server.xml 中的 <Connector port="8080"> 为其他端口(如 8081),重启 Tomcat
  • 依赖缺失
    • 检查 WEB-INF/lib 是否包含所有必需的 JAR,缺失会导致 ClassNotFound 等错误
  • 日志定位
    • 查看 /var/log/tomcat9/catalina.outlocalhost.log*,快速定位部署与启动异常

0