温馨提示×

Debian如何安装Java Web服务器

小樊
45
2025-12-05 03:55:51
栏目: 云计算

在 Debian 上安装 Java Web 服务器

一 安装 Java 运行环境

  • 更新索引并安装 OpenJDK(推荐 OpenJDK 11 或系统默认版本):
    • sudo apt update
    • sudo apt install openjdk-11-jdk
    • 验证:java -version
  • 可选:设置 JAVA_HOME(便于后续组件识别 Java 路径)
    • 查看路径:readlink -f /usr/bin/java | sed “s:/bin/java::”
    • 写入全局环境:echo ‘JAVA_HOME=“/usr/lib/jvm/java-11-openjdk-amd64”’ | sudo tee -a /etc/environment
    • 使生效:source /etc/environment
    • 验证:echo $JAVA_HOME

二 安装与启动 Tomcat(推荐)

  • 安装 Tomcat 9(Debian 11/12 仓库通常提供):
    • sudo apt update
    • sudo apt install tomcat9
    • 查看状态:sudo systemctl status tomcat9(默认监听 8080 端口)
  • 部署应用(WAR 包):
    • 将 WAR 放到:/var/lib/tomcat9/webapps/
    • 访问:http://服务器IP:8080/应用上下文路径
  • 防火墙放行(如使用 UFW):
    • sudo ufw allow 8080/tcp
  • 可选优化:为 Tomcat 设置内存参数(编辑 /etc/default/tomcat9,在 JAVA_OPTS 中添加如:-Xms512M -Xmx1024M),然后重启:sudo systemctl restart tomcat9

三 安装与启动 Jetty(可选)

  • 使用系统包安装并注册为服务:
    • sudo apt update
    • sudo apt install jetty
    • 启动/开机自启:sudo systemctl enable --now jetty
    • 默认端口通常为 8080,访问:http://服务器IP:8080
  • 如需手动安装二进制发行版并注册 systemd 服务(示例):
    • 下载并解压至 /opt/jetty
    • 创建系统用户:sudo useradd -r -s /usr/sbin/nologin jetty
    • 赋权:sudo chown -R jetty:jetty /opt/jetty
    • 新建服务文件 /etc/systemd/system/jetty.service(示例):
      • [Unit]
        • Description=Jetty Web Server
        • After=network.target
      • [Service]
        • Type=simple
        • User=jetty
        • Group=jetty
        • ExecStart=/opt/jetty/start.jar
        • ExecStop=/opt/jetty/stop.jar
        • Restart=on-failure
      • [Install]
        • WantedBy=multi-user.target
    • 启用服务:sudo systemctl daemon-reload && sudo systemctl enable --now jetty

四 常见问题与排查

  • 端口未开放或被占用
    • 检查端口:ss -tlnp | grep 8080
    • 云服务器需在安全组放行 8080/TCP;本机防火墙(如 UFW)放行:sudo ufw allow 8080/tcp
  • Java 版本不匹配
    • 确认版本:java -version 与 JAVA_HOME 是否一致
    • 如使用较新/较旧应用,按需切换 OpenJDK 版本(如 openjdk-8-jdkopenjdk-17-jdk
  • Tomcat 管理页面与默认应用
    • 若需访问管理应用,请部署相应 WAR 或调整权限配置(生产环境不建议暴露管理端)
  • 日志定位
    • Tomcat:/var/log/tomcat9/catalina.out 与 /var/log/tomcat9/*.log
    • Jetty:/opt/jetty/logs/*.log 或 systemd 日志:journalctl -u jetty -f

0