部署Java项目到Linux服务器需要安装哪些基础环境?

部署 Java 项目到 Linux 服务器,通常需要安装以下基础环境(按优先级排序):


✅ 1. Java 运行环境(JRE/JDK)

  • 推荐版本:根据项目需求选择(如 Spring Boot 3.x 通常要求 JDK 17+;老项目可能用 JDK 8/11)。
  • 安装方式示例(以 Ubuntu/Debian 为例):

    # 安装 OpenJDK 17
    sudo apt update
    sudo apt install openjdk-17-jdk
    
    # 验证安装
    java -version
    javac -version  # 若需编译则必须安装 JDK;纯运行时可只装 JRE
  • 注意
    • 生产环境建议优先使用 OpenJDK(免费、稳定),避免 Oracle JDK 授权风险。
    • 确保 JAVA_HOME 环境变量正确配置(多数应用依赖它)。

✅ 2. 进程守护与启动管理工具(可选但强烈推荐)

  • Systemd(现代 Linux 发行版默认自带):用于将 Java 应用注册为系统服务,实现开机自启、日志管理、重启监控等。

    • 示例 /etc/systemd/system/myapp.service
      
      [Unit]
      Description=My Spring Boot App
      After=network.target

    [Service]
    Type=simple
    User=www-data
    WorkingDirectory=/opt/myapp
    ExecStart=/usr/bin/java -jar myapp.jar –server.port=8080
    Restart=always
    Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64"

    [Install]
    WantedBy=multi-user.target

    ```bash
    sudo systemctl daemon-reload
    sudo systemctl enable myapp
    sudo systemctl start myapp
  • 替代方案(轻量场景):

    • nohup java -jar app.jar &(简单测试用,无自动重启/日志轮转)
    • supervisord(适合多进程管理)

✅ 3. 文件传输与打包工具

  • tar / gzip:打包部署包(.jar, .war 或目录)。
  • scp / rsync / sftp:上传项目文件到服务器。
  • wget / curl:从内网仓库或 CI/CD 拉取制品。

✅ 4. 日志查看与诊断工具

  • tail -f / journalctl:实时查看日志。
  • top / htop:监控 CPU/内存。
  • jstat / jmap / jstack(JDK 自带):分析 JVM 性能、GC、线程阻塞。
  • ps aux | grep java:确认进程状态。

✅ 5. 网络与防火墙配置

  • 开放应用端口(如 8080):

    # Ubuntu (ufw)
    sudo ufw allow 8080/tcp
    
    # CentOS/RHEL (firewalld)
    sudo firewall-cmd --permanent --add-port=8080/tcp
    sudo firewall-cmd --reload
  • 检查端口监听:netstat -tlnp | grep :8080ss -tlnp

⚠️ 额外建议(生产环境必备)

类别 说明
反向X_X Nginx/Apache 做负载均衡、SSL 终止、静态资源缓存
数据库驱动 若项目直连 DB,需提前安装对应 JDBC 驱动(或放入 lib/
时区同步 timedatectl set-timezone Asia/Shanghai + 设置 JVM -Duser.timezone=Asia/Shanghai
安全加固 限制 Java 用户权限、关闭 SSH root 登录、启用 fail2ban

需要我根据你的具体场景(如:Spring Boot 微服务?单体 WAR 包?容器化 vs 原生?)提供定制化部署脚本或 systemd 模板吗?

未经允许不得转载:CLOUD技术博 » 部署Java项目到Linux服务器需要安装哪些基础环境?