温馨提示×

Debian上JSP应用部署流程解析

小樊
45
2025-12-22 15:17:31
栏目: 编程语言

Debian上JSP应用部署流程解析

一 环境准备与安装

  • 安装 Java:建议使用 OpenJDK 11(稳定且与 Tomcat 9 兼容性好)。执行:sudo apt update && sudo apt install openjdk-11-jdk,验证:java -version
  • 安装 Tomcat 9:执行:sudo apt install tomcat9。如需管理界面,可同时安装:sudo apt install tomcat9-admin
  • 启动与自启:sudo systemctl start tomcat9 && sudo systemctl enable tomcat9
  • 验证安装:浏览器访问 http://服务器IP:8080,出现 Tomcat 欢迎页即表示运行正常。

二 部署方式

  • 方式A 自动部署(推荐):将应用打包为 WAR,复制到 /var/lib/tomcat9/webapps/,Tomcat 会自动解压并部署。示例:sudo cp myapp.war /var/lib/tomcat9/webapps/,访问 http://服务器IP:8080/myapp
  • 方式B 目录部署:将应用目录复制到 webapps(或使用已解压目录),Tomcat 热部署生效。
  • 方式C 管理控制台部署:访问 http://服务器IP:8080/manager/html,使用具备 manager-gui 角色的用户登录后上传 WAR 或管理应用(需提前配置用户权限)。
  • 应用上下文路径:WAR 名为 ROOT.war 时将部署为根应用(访问 /);其他名称则以 WAR 名作为上下文路径。

三 依赖管理与构建

  • 将第三方依赖放入应用的 WEB-INF/lib/ 目录,随应用一起加载。
  • 使用 Maven 管理依赖并打包:sudo apt install maven,在项目根目录执行 mvn clean package,生成的 WAR 放入 webapps
  • 使用 Gradle 管理依赖并打包:sudo apt install gradle,执行 gradle build 产出 WAR 后部署。

四 数据库与连接配置

  • 安装数据库(按需):如 MySQLPostgreSQL,完成初始化与安全设置。
  • 在应用的 context.xmlWEB-INF/web.xml 中配置 DataSource/JDBC URL/驱动/用户名/密码
  • 将数据库驱动 JAR 放入 WEB-INF/lib/,确保与数据库版本匹配。
  • 开放防火墙(若启用):sudo ufw allow 3306/tcp(数据库端口,仅对应用与数据库间开放为宜)。

五 网络访问 日志与安全加固

  • 防火墙与端口:开放 8080(HTTP);如需直接提供 HTTPS,可开放 8443。示例:sudo ufw allow 8080/tcp
  • 日志与排错:Tomcat 日志位于 /var/log/tomcat9/,常用命令:tail -f /var/log/tomcat9/catalina.out
  • 启用 HTTPS(两种方式):
    • 方式1(推荐)使用 Nginx/Apache 作为反向代理终止 TLS,执行 sudo apt install certbot python3-certbot-nginx 获取证书,然后配置 Nginx 反向代理到 http://localhost:8080
    • 方式2 在 Tomcat 配置 8443 连接器,使用 Let’s Encrypt 证书(证书路径通常为 /etc/letsencrypt/live/your_domain.com/),示例片段:
      <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
                 maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
          <Certificate certificateKeystoreFile="/etc/letsencrypt/live/your_domain.com/fullchain.pem"
                       certificateKeystorePassword="your_keystore_password" type="RSA"/>
        </SSLHostConfig>
      </Connector>
      
      修改后重启 Tomcat:sudo systemctl restart tomcat9
  • 管理界面安全:编辑 /etc/tomcat9/tomcat-users.xml,为管理用户分配 manager-gui/admin-gui 角色,设置强密码,并限制来源 IP。
  • 运行用户与权限(手动安装或自托管场景):建议创建专用系统用户(如 tomcat)运行 Tomcat,避免使用 root。

0