温馨提示×

Debian系统下JSP文件的部署流程是什么

小樊
37
2025-11-23 01:54:47
栏目: 编程语言

Debian下JSP部署流程

一 环境准备

  • 安装 Java 运行环境(推荐 OpenJDK 11):
    • 执行:sudo apt update && sudo apt install openjdk-11-jdk -y
    • 验证:java -version
  • 安装 Apache Tomcat(两种常用方式,二选一)
    • 方式A 使用发行版包管理器安装(以 Tomcat 10 为例):sudo apt install tomcat10
    • 方式B 手动安装(以 Tomcat 9 为例):
      • 下载并解压:wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
      • 移动到目标目录:sudo tar -xvf apache-tomcat-9.0.56.tar.gz -C /opt && sudo mv /opt/apache-tomcat-9.0.56 /opt/tomcat
  • 创建专用系统用户(手动安装时强烈建议):
    • sudo groupadd tomcat
    • sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
    • sudo chown -R tomcat:tomcat /opt/tomcat && sudo chmod +x /opt/tomcat/bin/*.sh
  • 设置环境变量(手动安装时建议写入 /etc/environment 或 systemd 环境):
    • JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
    • CATALINA_HOME="/opt/tomcat"(发行版安装时可能为 /usr/share/tomcat10

二 部署方式

  • 方式一 自动部署 WAR(最简便)
    • 打包应用:cd myapp && jar -cvf myapp.war .
    • 复制到 Tomcat:sudo cp myapp.war /opt/tomcat/webapps/(发行版包可能为 /usr/share/tomcat10/webapps/
    • Tomcat 会自动解压并部署,应用上下文路径为 /myapp
  • 方式二 目录拷贝部署(开发/调试常用)
    • 将应用目录(含 WEB-INF/ 等)复制到:/opt/tomcat/webapps/myapp/
    • 访问路径为 /myapp
  • 方式三 外部目录或精确路径部署(不移动代码)
    • server.xml<Host> 内添加 <Context>
      • <Context path="/hello" docBase="/opt/myapp" reloadable="true"/>
    • 或在 conf/Catalina/localhost/hello.xml 中定义:
      • <Context docBase="/opt/myapp"/>
    • 访问路径为 /hello
  • 补充说明
    • 默认 appBase="webapps"unpackWARs="true"autoDeploy="true",放入 WAR 或目录即可热部署
    • 生产环境不建议在 server.xml 中大量添加 <Context>,优先使用 Catalina/localhost/*.xml 方式

三 启动与验证

  • 启动 Tomcat
    • 发行版服务:sudo systemctl start tomcat10
    • 手动安装(两种方式):
      • systemd 服务:sudo systemctl daemon-reload && sudo systemctl start tomcat
      • 脚本方式:/opt/tomcat/bin/startup.sh
  • 设置开机自启
    • 发行版服务:sudo systemctl enable tomcat10
    • 手动安装:sudo systemctl enable tomcat
  • 访问验证
    • 打开浏览器访问:http://服务器IP:8080/(看到 Tomcat 欢迎页说明运行正常)
    • 访问应用:http://服务器IP:8080/应用名/http://服务器IP:8080/应用名/index.jsp
  • 常用管理命令
    • 停止:sudo systemctl stop tomcat10/opt/tomcat/bin/shutdown.sh
    • 状态:sudo systemctl status tomcat10

四 可选配置与优化

  • 端口与 HTTPS
    • 编辑 server.xml<Connector port="8080"> 调整端口;配置 8443 启用 SSL/TLS
  • 防火墙
    • 放行访问端口(示例):sudo ufw allow 8080/tcp;若经 80/443 反向代理,放行 Apache Full/Nginx Full
  • 日志与排错
    • 查看:/opt/tomcat/logs/catalina.out/opt/tomcat/logs/localhost*.log
  • 性能与内存
    • 在 systemd 或 catalina.sh 中设置 JAVA_OPTS/CATALINA_OPTS(如 -Xms512M -Xmx1024M
  • 安全加固
    • 禁用或保护管理应用、隐藏版本信息、限制管理端访问来源

五 常见问题与排查

  • 权限问题
    • 确保 tomcat 用户对 webapps/ work/ temp/ logs/ 具备读写权限
  • 端口占用
    • 检查是否已有进程占用 8080ss -tlnp | grep 8080;必要时调整 server.xml 端口
  • 类或依赖缺失
    • 将依赖 JAR 放入 WEB-INF/lib/,重启应用或启用 reloadable(仅开发环境)
  • 热部署不生效
    • 确认 unpackWARs="true"autoDeploy="true";清理 work/Catalina/localhost/ 后重试
  • 访问 404
    • 确认 WAR 已解压生成同名目录;访问路径与 Context path 一致;查看 catalina.out 报错信息

0