部署 Java 项目到 Linux 服务器时,通常需要准备以下基础环境。具体需求可能因项目架构(如是否使用容器、微服务等)略有差异,但核心组件如下:
1. JDK(Java Development Kit)
- 必需:运行 Java 应用的核心依赖。
- 版本选择:需与项目编译时的 JDK 版本一致(如 JDK 8/11/17/21)。
- 安装方式:
- 官方源码包(
.tar.gz)手动解压配置环境变量; - 或使用包管理器(如
yum install java-11-openjdk-devel/apt install openjdk-11-jdk); - 推荐使用 Adoptium 或 Oracle JDK 的发行版。
- 官方源码包(
- 验证命令:
java -version javac -version # 若仅需运行可省略此步
2. Web 服务器(可选但推荐)
- 作用:反向X_X、静态资源托管、SSL 终止等。
- 常见选择:
- Nginx:高性能,配置灵活(最常用);
- Apache HTTP Server:功能丰富,模块生态成熟;
- Tomcat/Jetty:若项目为 WAR 包可直接嵌入部署(不推荐生产环境裸用)。
- 示例(Nginx + Tomcat):
sudo yum install nginx # CentOS/RHEL sudo apt install nginx # Ubuntu/Debian
3. 数据库及中间件(按项目需求)
- 关系型数据库:MySQL、PostgreSQL、Oracle 等(需安装对应服务端);
- NoSQL:MongoDB、Redis(缓存/会话存储);
- 消息队列:RabbitMQ、Kafka、RocketMQ;
- 注意:部分服务可独立部署在专用节点,通过网络访问。
4. 辅助工具
| 工具 | 用途 |
|---|---|
curl / wget |
下载资源、测试接口 |
vim / nano |
配置文件编辑 |
systemctl |
管理服务(如 Tomcat/Nginx 开机自启) |
firewalld / ufw |
防火墙规则配置(开放必要端口) |
htop / df -h |
监控资源使用情况 |
logrotate |
日志轮转管理 |
5. 安全加固建议
- 创建非 root 用户运行应用;
- 限制 SSH 登录方式(禁用密码认证,改用密钥);
- 配置防火墙仅开放必要端口(如 80/443/8080);
- 定期更新系统补丁和 JDK 版本。
6. 进阶方案(现代实践)
- Docker 容器化:将应用及依赖打包为镜像,避免环境冲突:
FROM eclipse-temurin:17-jre-alpine COPY target/app.jar app.jar ENTRYPOINT ["java", "-jar", "app.jar"] - Kubernetes 编排:适合微服务集群部署;
- CI/CD 流水线:自动化构建、测试、部署(如 Jenkins/GitLab CI)。
💡 提示:部署前务必确认项目文档中的《环境要求》章节,不同框架(Spring Boot/Spring Cloud)对 JVM 参数、线程池、GC 策略可能有特定配置需求。首次部署建议在测试环境完整验证后再上线。
CLOUD云枢