温馨提示×

centos怎么跑java服务

小樊
39
2026-09-24 01:14:07
栏目: 编程语言

在 CentOS 上跑 Java 服务,一般有几种常见方式,从简单到“生产级”依次是:


一、准备工作(必做)

1. 安装 JDK

# 查看是否已安装
java -version

# 如果没有,安装 OpenJDK(推荐)
sudo yum install -y java-1.8.0-openjdk-devel
# 或 Java 11
sudo yum install -y java-11-openjdk-devel

二、最简单方式:直接运行 jar

1. 上传或构建 jar 包

myapp.jar

2. 前台运行(测试用)

java -jar myapp.jar

3. 后台运行(常用)

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

查看日志:

tail -f app.log

⚠️ 缺点:服务器重启后会停止


三、推荐方式:systemd 托管(生产常用 ✅)

1. 创建服务文件

sudo vi /etc/systemd/system/myapp.service

示例内容:

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

[Service]
User=appuser
WorkingDirectory=/opt/myapp
ExecStart=/usr/bin/java -jar /opt/myapp/myapp.jar
SuccessExitStatus=143
Restart=always

[Install]
WantedBy=multi-user.target

2. 重载并启动

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

3. 查看状态

systemctl status myapp
journalctl -u myapp -f

✅ 优点:

  • 开机自启
  • 崩溃自动重启
  • 日志统一

四、使用脚本启动(老项目常见)

vi start.sh
#!/bin/bash
java -jar /opt/myapp/myapp.jar >> /opt/myapp/app.log 2>&1 &
chmod +x start.sh
./start.sh

五、常见问题

1. 端口被占用

netstat -tunlp | grep 8080

2. 防火墙放行

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

3. 内存参数示例

java -Xms512m -Xmx1024m -jar myapp.jar

六、推荐结构(规范一点)

/opt/myapp/
 ├── myapp.jar
 ├── application.yml
 ├── app.log

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

  • CentOS 版本(7?8?)
  • Java 项目类型(Spring Boot?普通 jar?)
  • 是否需要开机自启 / 多实例 / 反向代理(Nginx)

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

0 踩