温馨提示×

Debian如何部署JSP应用服务器

小樊
34
2025-12-30 10:28:06
栏目: 云计算

在 Debian 上部署 JSP 应用服务器

一 准备环境

  • 更新系统并安装 OpenJDK 11(推荐 LTS):
    • 命令:sudo apt update && sudo apt install -y openjdk-11-jdk
    • 验证:java -version、javac -version
  • 正确设置 JAVA_HOME(两种常用方式,二选一或同时配置)
    • 全局:编辑 /etc/environment,添加:JAVA_HOME=“/usr/lib/jvm/java-11-openjdk-amd64”
    • 用户级:编辑 ~/.bashrc,添加:export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64;执行 source ~/.bashrc
    • 查找路径:update-alternatives --config java,取 Path 的父目录作为 JAVA_HOME

二 安装与配置 Tomcat

  • 方式 A 使用 Debian 软件源安装(运维更简单)
    • 安装:sudo apt install -y tomcat9 tomcat9-admin
    • 管理:sudo systemctl start|stop|restart|enable tomcat9
    • 目录:应用默认部署在 /var/lib/tomcat9/webapps
  • 方式 B 手动安装 Apache Tomcat(版本可控,便于自定义)
    • 下载与解压(示例为 Tomcat 9.0.76):
      • wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.76/bin/apache-tomcat-9.0.76.tar.gz
      • sudo tar -zxvf apache-tomcat-9.0.76.tar.gz -C /opt/
      • sudo mv /opt/apache-tomcat-9.0.76 /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
    • 创建 systemd 服务(/etc/systemd/system/tomcat.service):
      • [Unit] Description=Apache Tomcat;After=network.target
      • [Service] Type=forking;User=tomcat;Group=tomcat
      • Environment=“JAVA_HOME=/usr/lib/jvm/default-java”
      • Environment=“CATALINA_HOME=/opt/tomcat”;Environment=“CATALINA_BASE=/opt/tomcat”
      • ExecStart=/opt/tomcat/bin/startup.sh;ExecStop=/opt/tomcat/bin/shutdown.sh
      • Restart=always
      • [Install] WantedBy=multi-user.target
    • 启动与开机自启:
      • sudo systemctl daemon-reload
      • sudo systemctl start tomcat;sudo systemctl enable tomcat
  • 访问测试:浏览器打开 http://服务器IP:8080,出现 Tomcat 欢迎页即成功

三 部署 JSP 应用

  • 自动部署:将应用打包为 WAR,复制到 webapps 目录,Tomcat 会自动解压并部署
    • 手动复制:sudo cp your-app.war /var/lib/tomcat9/webapps/(源安装)或 /opt/tomcat/webapps/(手动安装)
    • 访问路径:http://服务器IP:8080/your-app
  • 管理控制台部署(可选):
    • 启用管理应用:编辑 /etc/tomcat9/tomcat-users.xml,添加用户与角色
    • 重启:sudo systemctl restart tomcat9
    • 访问:http://服务器IP:8080/manager/html 上传 WAR 并部署

四 网络与防火墙

  • 开放访问端口(UFW 示例):
    • 仅 Tomcat:sudo ufw allow 8080/tcp
    • 同时开放 80/443(配合反向代理或后期启用 HTTPS):sudo ufw allow 80/tcp;sudo ufw allow 443/tcp
  • 云服务器安全组需同步放行对应端口

五 安全与进阶配置

  • 启用 HTTPS(两种方式)
    • Tomcat 内置端口 8443:在 /etc/tomcat9/server.xml 的 <Connector port=“8443” …> 中配置 SSL(keystoreFile/keystorePass),重启 Tomcat
    • 反向代理 + 证书:使用 Nginx/Apache 终止 TLS,证书可用 Let’s Encrypt/Certbot 自动签发,示例 Nginx 片段:
      • location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
  • 安全加固要点
    • 管理端使用强口令、限制来源 IP、隐藏版本信息、及时打补丁
    • 运行 Tomcat 的非 root 专用用户(上文已创建 tomcat 用户)
  • 性能与内存
    • 在 systemd 或 CATALINA_OPTS 中设置堆内存,例如:-Xms512M -Xmx1024M
  • 常见问题排查
    • 查看日志:/var/log/tomcat9/catalina.out(源安装)或 /opt/tomcat/logs/catalina.out(手动安装)
    • 端口占用:ss -tlnp | grep 8080;无法访问时先本地 curl http://127.0.0.1:8080 验证服务是否启动

0