在新服务器上部署和运行 Java 项目,通常需要准备以下几个方面的软件和配置。具体需求会根据你的项目类型(如 Spring Boot、普通 Web 项目、Maven/Gradle 构建等)有所不同,但以下是一个通用的清单:
✅ 一、操作系统环境
常见的 Linux 发行版:
- CentOS / RHEL
- Ubuntu / Debian
- Alpine Linux(适用于容器)
如果是 Windows Server,也可以跑 Java 项目,但一般推荐使用 Linux 系统。
✅ 二、Java 运行环境(JRE/JDK)
1. 安装 JDK 或 JRE
- JDK:如果你需要编译代码(比如从源码构建),必须安装 JDK。
- JRE:如果只是运行已打包好的
.jar文件,可以只安装 JRE。
常见版本选择:
- OpenJDK 8 / 11 / 17 / 21(推荐 LTS 版本)
- Oracle JDK(商业用途需授权)
- Adoptium (Eclipse Temurin) 是一个免费且广泛使用的发行版
安装方式(以 Ubuntu 为例):
sudo apt update
sudo apt install openjdk-17-jdk -y
验证安装:
java -version
javac -version
✅ 三、构建工具(可选)
如果你的项目是 Maven 或 Gradle 项目,需要安装相应的构建工具。
Maven
sudo apt install maven -y
mvn -v
Gradle
sudo snap install gradle --classic
gradle -v
✅ 四、数据库(如项目依赖)
常见的数据库系统包括:
- MySQL / MariaDB
- PostgreSQL
- Oracle
- SQL Server
- SQLite(轻量级)
你需要:
- 安装数据库
- 创建数据库和用户
- 导入初始数据(如有)
- 配置连接信息(如
application.properties)
✅ 五、Web 容器 / 应用服务器(视情况而定)
1. 内嵌 Tomcat(Spring Boot 默认)
如果你用的是 Spring Boot,并使用内嵌 Tomcat,可以直接运行 .jar 文件,不需要额外安装 Tomcat。
2. 外部 Tomcat(传统 Web 项目)
如果是传统的 WAR 包部署,则需要安装 Apache Tomcat。
安装方式(Ubuntu):
sudo apt install tomcat9 tomcat9-admin -y
✅ 六、反向X_X服务器(可选)
用于负载均衡、SSL 终止、域名绑定等。
- Nginx
- Apache HTTP Server
示例:安装 Nginx
sudo apt install nginx -y
sudo systemctl start nginx
✅ 七、防火墙 & 端口开放
确保服务器防火墙放行所需端口,例如:
- 80(HTTP)
- 443(HTTPS)
- 8080(Tomcat 默认)
- 22(SSH)
开放端口示例(UFW):
sudo ufw allow 8080/tcp
sudo ufw enable
sudo ufw status
✅ 八、持久化存储与日志管理
- 日志路径设置(如
/var/log/myapp) - 日志轮转配置(logrotate)
- 数据文件存储目录权限设置
✅ 九、进程管理工具(推荐)
为了保证 Java 应用常驻后台运行,建议使用如下工具:
1. systemd(Linux 推荐)
创建服务单元文件,实现开机启动、自动重启等。
2. nohup
nohup java -jar myapp.jar > app.log 2>&1 &
3. screen / tmux
临时终端守护程序。
4. Supervisor
一个常用的进程管理工具,适合多个 Java 应用同时运行。
✅ 十、安全相关
- SSH 密钥登录,禁用密码登录
- 定期更新系统补丁
- 使用 HTTPS(Let’s Encrypt 免费证书)
- 数据库访问限制 IP 白名单
✅ 十一、监控与维护(可选)
- JVM 监控(JConsole, VisualVM, Prometheus + Grafana)
- 日志分析(ELK Stack)
- 自动备份脚本
🧩 示例:部署 Spring Boot 项目的步骤
- 安装 JDK
- 将项目打包为
.jar文件(本地或 CI/CD) - 上传
.jar到服务器 - 编写 systemd 启动脚本
- 设置防火墙开放端口
- 配置 Nginx 反向X_X(可选)
- 设置 HTTPS(可选)
- 添加日志、监控、自动重启机制
📌 总结:最简配置清单
| 类别 | 软件 |
|---|---|
| 操作系统 | Ubuntu/CentOS 等 |
| Java | OpenJDK 11/17 |
| 构建工具 | Maven/Gradle(如需) |
| 数据库 | MySQL/PostgreSQL(如需) |
| 应用容器 | Tomcat(如需)或直接运行 jar |
| 反向X_X | Nginx/Apache(可选) |
| 进程管理 | systemd/Supervisor |
如果你能提供具体的项目类型(比如是否是 Spring Boot、是否使用数据库、是否需要 HTTPS 等),我可以给你更详细的部署方案。欢迎继续提问!
云计算导航