在服务器上运行一个 Java 程序,需要以下基本环境和配置:
1. Java 运行环境(JRE)或 Java 开发工具包(JDK)
- JRE(Java Runtime Environment):仅用于运行已编译的 Java 程序(
.class或.jar文件)。 - JDK(Java Development Kit):包含 JRE 和开发工具(如
javac编译器),如果你需要在服务器上编译 Java 源码,就需要 JDK。
✅ 推荐安装 JDK,即使只是运行程序,也便于调试和查看版本信息。
常见版本:
- Java 8(长期支持,兼容性好)
- Java 11(LTS,现代应用常用)
- Java 17(当前主流 LTS 版本)
- Java 21(最新 LTS)
2. 操作系统支持
Java 是跨平台的,可以在以下系统上运行:
- Linux(如 CentOS、Ubuntu、Debian)
- Windows Server
- macOS(较少用于服务器部署)
大多数生产环境使用 Linux。
3. 安装 Java
在 Linux 上安装示例(以 Ubuntu 为例):
# 更新包管理器
sudo apt update
# 安装 OpenJDK 17
sudo apt install openjdk-17-jdk
# 验证安装
java -version
javac -version
设置 JAVA_HOME 环境变量(推荐):
编辑 ~/.bashrc 或 /etc/environment:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
然后执行:
source ~/.bashrc
注意:路径根据实际安装位置调整,可通过
update-alternatives --config java查看。
4. 运行 Java 程序
方式一:运行 .class 文件
java HelloWorld
要求已用
javac HelloWorld.java编译。
方式二:运行 .jar 文件(最常见)
java -jar myapp.jar
如果是 Spring Boot 等框架打包的可执行 JAR,直接这样运行即可。
5. 可选但推荐的配置
✅ 后台运行(使用 nohup 或 systemd)
nohup java -jar myapp.jar > app.log 2>&1 &
或使用 screen / tmux:
screen -S myjava
java -jar myapp.jar
# 按 Ctrl+A, 再按 D 脱离会话
✅ 使用 systemd 管理服务(推荐用于生产)
创建服务文件 /etc/systemd/system/myapp.service:
[Unit]
Description=My Java Application
After=network.target
[Service]
User=myuser
ExecStart=/usr/bin/java -jar /opt/myapp/myapp.jar
Restart=always
[Install]
WantedBy=multi-user.target
然后启用:
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp
6. 网络与防火墙
确保:
- 程序监听的端口(如 8080)在防火墙中开放。
- 云服务器(如阿里云、AWS)的安全组允许访问该端口。
# 开放端口示例(Ubuntu 使用 ufw)
sudo ufw allow 8080
7. 其他依赖(视程序而定)
- 数据库(MySQL、PostgreSQL 等)
- Redis、Kafka 等中间件
- 配置文件、日志目录权限
- 外部 API 访问权限
总结:最小运行环境清单
| 项目 | 说明 |
|---|---|
| ✅ 操作系统 | Linux / Windows Server 等 |
| ✅ Java 环境 | JDK 或 JRE(建议 JDK) |
| ✅ JAVA_HOME | 正确设置环境变量 |
| ✅ 程序文件 | .jar 或 .class 文件 |
| ✅ 启动命令 | java -jar xxx.jar |
| ✅ 后台运行 | 使用 nohup、systemd 等 |
| ✅ 网络配置 | 开放端口,配置安全组 |
如果你提供具体的 Java 程序类型(如 Spring Boot、普通 Java 应用、Web 服务等),我可以给出更详细的部署建议。
ECLOUD博客