加油
努力

在Linux服务器上部署Java应用需要哪些准备工作?

在Linux服务器上部署Java应用需要进行一系列准备工作,以确保应用能够稳定、安全地运行。以下是主要的准备工作步骤:


1. 确认服务器环境

  • 操作系统版本:确认Linux发行版(如 CentOS、Ubuntu、Debian 等)及其版本。
  • 系统架构:确认是32位还是64位系统,通常推荐使用64位。
  • 资源评估:检查CPU、内存、磁盘空间是否满足应用需求。

2. 安装Java运行环境(JRE/JDK)

  • 选择Java版本:根据应用要求选择合适的Java版本(如 Java 8、11、17 等)。

  • 安装方式

    • 使用包管理器安装(推荐):

      # Ubuntu/Debian
      sudo apt update
      sudo apt install openjdk-17-jdk
      
      # CentOS/RHEL
      sudo yum install java-17-openjdk-devel
    • 或从 Oracle 官网下载并手动安装。

  • 配置环境变量

    export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
    export PATH=$JAVA_HOME/bin:$PATH

    可将上述内容添加到 /etc/profile 或用户 .bashrc 文件中。

  • 验证安装

    java -version
    javac -version

3. 准备应用文件

  • 将Java应用打包为可执行的 JAR/WAR 文件(使用 Maven/Gradle 构建)。
  • 上传应用到服务器(可通过 scprsync 或 CI/CD 工具):
    scp myapp.jar user@server:/opt/myapp/

4. 配置应用依赖和环境

  • 数据库连接:确保数据库已部署并可访问,配置正确的连接信息。
  • 配置文件:放置 application.propertiesapplication.yml 到合适位置。
  • 外部依赖服务:如 Redis、MQ、Nginx 等需提前部署并测试连通性。

5. 创建运行用户(安全最佳实践)

  • 避免使用 root 用户运行应用:
    sudo useradd -m -s /bin/bash javaapp
    sudo chown -R javaapp:javaapp /opt/myapp

6. 设置启动脚本或服务

  • 编写启动脚本(如 start.sh):

    #!/bin/bash
    cd /opt/myapp
    nohup java -jar myapp.jar --spring.profiles.active=prod > app.log 2>&1 &
  • 或配置为系统服务(使用 systemd):
    创建 /etc/systemd/system/myapp.service

    [Unit]
    Description=My Java Application
    After=network.target
    
    [Service]
    Type=simple
    User=javaapp
    ExecStart=/usr/bin/java -jar /opt/myapp/myapp.jar
    Restart=always
    
    [Install]
    WantedBy=multi-user.target

    启用服务:

    sudo systemctl daemon-reload
    sudo systemctl enable myapp
    sudo systemctl start myapp

7. 配置防火墙和网络

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

    # Ubuntu (ufw)
    sudo ufw allow 8080
    
    # CentOS (firewalld)
    sudo firewall-cmd --permanent --add-port=8080/tcp
    sudo firewall-cmd --reload

8. 日志与监控

  • 配置日志输出路径,定期轮转日志(可使用 logrotate)。
  • 集成监控工具(如 Prometheus + Grafana、Zabbix)或 APM 工具(如 SkyWalking)。

9. 安全加固

  • 更新系统补丁:sudo yum updatesudo apt upgrade
  • 禁用不必要的服务。
  • 配置 SSH 安全(禁用密码登录,使用密钥认证)。
  • 使用反向X_X(如 Nginx)隐藏后端服务,支持 HTTPS。

10. 备份与恢复策略

  • 定期备份应用数据、配置文件和数据库。
  • 制定故障恢复流程。

可选:使用容器化部署(Docker)

  • 将应用打包为 Docker 镜像,简化部署和环境一致性。
  • 结合 Docker Compose 或 Kubernetes 进行编排。

总结清单

  • [ ] 安装并配置 Java 环境
  • [ ] 上传并验证应用包
  • [ ] 创建专用运行用户
  • [ ] 配置系统服务或启动脚本
  • [ ] 设置防火墙和端口
  • [ ] 配置日志和监控
  • [ ] 实施安全措施
  • [ ] 测试启动与访问

完成以上步骤后,你的Java应用就可以在Linux服务器上稳定运行了。

云服务器