温馨提示×

Debian Java程序如何部署

小樊
36
2025-12-09 02:13:59
栏目: 编程语言

Debian 上部署 Java 应用的实用步骤

一 准备环境

  • 更新索引并安装 OpenJDK(按项目选择版本,如 1117):
    • 安装运行时或开发套件:sudo apt update && sudo apt install openjdk-17-jdksudo apt install default-jdk
    • 验证版本:java -versionjavac -version
  • 配置 JAVA_HOME(系统级,所有用户生效):
    • 编辑:sudo nano /etc/environment,添加例如:JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
    • 使生效:source /etc/environment
  • 多版本管理(如同时装有 8/11/17):sudo update-alternatives --config java,按提示选择默认版本。

二 部署方式

  • 方式 A 直接运行可执行 JAR
    • 构建:mvn clean package(或 gradle build),产物一般为 target/your-app.jar
    • 运行:java -jar your-app.jar;生产建议后台运行并输出日志:nohup java -jar your-app.jar > app.log 2>&1 &
  • 方式 B 部署 WARTomcat
    • 安装:sudo apt install tomcat9
    • 部署:将 WAR 放入 /var/lib/tomcat9/webapps/,Tomcat 会自动解压部署
    • 管理:sudo systemctl status|start|stop tomcat9
    • 访问:浏览器打开 http://服务器IP:8080/应用上下文路径
  • 方式 C 使用 Docker 部署
    • 安装 Docker(Debian 官方仓库):
      • sudo apt-get update
      • curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
      • echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /devref
      • sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io
    • Spring Boot 示例 Dockerfile:
      • FROM openjdk:17-jre-slim
      • COPY target/your-app.jar /app.jar
      • EXPOSE 8080
      • ENTRYPOINT ["java","-jar","/app.jar"]
    • 构建与运行:docker build -t your-app .docker run -d -p 8080:8080 your-app
  • 方式 D 使用 Nginx 反向代理(可选,便于域名与 HTTPS)
    • 安装:sudo apt install -y nginx
    • 配置 /etc/nginx/sites-available/default
      • server { listen 80; server_name your_domain; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
    • 生效:sudo systemctl reload nginx

三 运行与运维要点

  • 开放防火墙端口(如使用 ufw):sudo ufw allow 8080/tcp
  • 查看日志:
    • 直接运行:tail -f app.log
    • Tomcat:journalctl -u tomcat9 -f 或查看 /var/log/tomcat9/catalina.out
  • JVM 调优(示例):java -Xms512m -Xmx2g -jar your-app.jar
  • 常见问题速解:
    • “java: command not found” 或版本不对:检查 JAVA_HOMEPATH,用 update-alternatives --config java 选定版本
    • 端口占用:ss -tlnp | grep 8080 查找并释放占用进程
    • 数据库连接失败:核对 application.properties 中的 URL/用户名/密码,并确认数据库网络可达与白名单设置。

0