温馨提示×

CentOS Java服务怎么配置

小樊
36
2026-08-29 15:13:40
栏目: 编程语言

CentOS 上配置 Java 服务,常见场景有几种,从“运行 Java 程序”到“配置成系统服务”。下面按最常用、最规范的方式说明,你可以按需参考。


一、安装 Java(先确认环境)

1️⃣ 查看是否已安装 Java

java -version

2️⃣ 安装 Java(以 Java 8 / 11 为例)

CentOS 7

yum install -y java-11-openjdk java-11-openjdk-devel

CentOS 8 / Stream

dnf install -y java-11-openjdk java-11-openjdk-devel

如需 Java 8:

yum install -y java-1.8.0-openjdk

二、配置 JAVA_HOME(推荐)

1️⃣ 查找 Java 路径

readlink -f $(which java)

常见路径:

/usr/lib/jvm/java-11-openjdk-xxx

2️⃣ 配置环境变量

编辑:

vi /etc/profile

添加:

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

生效:

source /etc/profile

三、运行 Java 程序(基础方式)

示例

java -jar myapp.jar

后台运行:

nohup java -jar myapp.jar > app.log 2>&1 &

四、配置成 systemd 服务(✅ 推荐)

1️⃣ 准备 Java 程序

假设你有:

/opt/app/myapp.jar

2️⃣ 创建 systemd 服务文件

vi /etc/systemd/system/myapp.service

示例配置(最常用)

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

[Service]
Type=simple
User=root
WorkingDirectory=/opt/app
ExecStart=/usr/bin/java -Xms256m -Xmx512m -jar /opt/app/myapp.jar
SuccessExitStatus=143
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

✅ 说明:

  • User:建议用非 root 用户
  • Restart=always:服务挂掉自动重启
  • SuccessExitStatus=143:Spring Boot 正常退出

3️⃣ 启动并设置开机自启

systemctl daemon-reload
systemctl start myapp
systemctl enable myapp

4️⃣ 查看状态

systemctl status myapp
journalctl -u myapp -f

五、Spring Boot 项目常见配置

指定配置文件

ExecStart=/usr/bin/java -jar /opt/app/myapp.jar --spring.profiles.active=prod

指定 JVM 参数

ExecStart=/usr/bin/java \
  -Xms512m \
  -Xmx1024m \
  -Dfile.encoding=UTF-8 \
  -jar /opt/app/myapp.jar

六、防火墙放行端口(如果对外)

firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload

七、常见问题排查

Java 找不到

which java
java -version

服务起不来

journalctl -u myapp -xe

权限问题

chmod +x /opt/app/myapp.jar

八、推荐目录结构 ✅

/opt/app/
├── myapp.jar
├── config/
│   └── application.yml
└── logs/

如果你愿意,可以告诉我:

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ Java 项目类型(Spring Boot / 普通 Jar / Tomcat)
  • ✅ 是否需要开机自启、多实例、多环境

我可以直接给你可复制的完整配置

0