加油
努力

在一台全新的服务器上部署Java项目需要安装哪些基础环境?

在一台全新的服务器上部署 Java 项目,需要安装和配置一系列基础环境。以下是常见的必要组件及其作用说明:


1. 操作系统

  • 推荐使用:Linux 发行版(如 Ubuntu、CentOS、Debian、AlmaLinux 等)
  • 原因:稳定性高、资源占用低、适合生产环境

2. Java 运行环境(JRE)或开发工具包(JDK)

  • JDK(Java Development Kit):推荐安装,包含编译器、调试工具等,适合运行和部署 Java 应用

  • 版本选择:

    • 根据项目需求选择(如 Java 8、Java 11、Java 17 等)
    • 推荐使用长期支持版本(LTS),如 Java 8、Java 11、Java 17
  • 安装方式:

    # Ubuntu/Debian
    sudo apt update
    sudo apt install openjdk-17-jdk
    
    # CentOS/RHEL
    sudo yum install java-17-openjdk-devel
  • 验证安装:

    java -version
    javac -version

3. 构建工具(可选但常用)

如果项目源码需要编译,需安装构建工具:

Maven

sudo apt install maven        # Ubuntu/Debian
sudo yum install maven        # CentOS

Gradle(根据项目需求)

# 下载并解压官方二进制包,或使用 SDKMAN 安装

4. 应用服务器 / Web 容器(根据项目类型)

Spring Boot(内嵌 Tomcat):

  • 通常打包为 jar 文件,直接运行即可:
    java -jar your-app.jar
  • 不需要额外安装 Tomcat

传统 WAR 包部署:

  • 需要安装 Tomcat 或其他 Servlet 容器
    sudo apt install tomcat9     # Ubuntu
    sudo yum install tomcat      # CentOS

5. 数据库(根据项目需求)

常见数据库:

  • MySQL / MariaDB
    sudo apt install mysql-server
  • PostgreSQL
    sudo apt install postgresql
  • Redis(缓存)
    sudo apt install redis-server
  • MongoDB(NoSQL)
    sudo apt install mongodb

注意:需根据项目 application.propertiesapplication.yml 配置数据库连接。


6. 反向X_X与 Web 服务器(可选但推荐)

用于负载均衡、HTTPS、静态资源服务等:

Nginx

sudo apt install nginx
  • 配置反向X_X到 Java 应用(如 8080 端口)

Apache HTTP Server

sudo apt install apache2

7. 防火墙与端口开放

确保应用端口可访问(如 8080、8443、443 等):

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

8. 系统服务管理(推荐)

将 Java 应用注册为系统服务(systemd),实现开机自启、日志管理等:

创建 /etc/systemd/system/myapp.service

[Unit]
Description=My Java Application
After=network.target

[Service]
Type=simple
User=myuser
ExecStart=/usr/bin/java -jar /opt/myapp/app.jar
Restart=always
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

启用服务:

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

9. 监控与日志工具(可选)

  • 日志查看journalctl -u myapp 或日志文件路径
  • 进程监控top, htop, ps aux | grep java
  • 外部监控:Prometheus + Grafana、ELK(Elasticsearch, Logstash, Kibana)

10. 安全配置(重要)

  • 更新系统补丁:sudo apt update && sudo apt upgrade
  • 创建专用用户运行 Java 应用(避免 root)
  • 使用 SSL/TLS(Let’s Encrypt 免费证书)
  • 配置 SSH 密钥登录,禁用密码登录

总结:最小化部署清单

组件 是否必需 说明
操作系统(Linux) 基础平台
JDK 运行 Java 程序
数据库 ⚠️ 若项目依赖则必须
构建工具 ⚠️ 若需编译源码
应用容器 ⚠️ 如 Tomcat(WAR 包)
反向X_X(Nginx) ✅ 推荐 提升安全性与性能
防火墙配置 开放必要端口
systemd 服务 ✅ 推荐 稳定运行

提示:若使用 Docker,则可将上述环境打包成镜像,简化部署流程。

如有具体项目类型(如 Spring Boot、微服务、Maven 多模块等),可进一步细化步骤。

云服务器