温馨提示×

centos怎么部署java应用

小樊
34
2026-10-05 16:44:18
栏目: 编程语言

在 CentOS 上部署 Java 应用,通常分为 环境准备 → 应用部署 → 运行与维护 几个步骤。下面以 CentOS 7/8 为例,给你一个完整、实用的流程。


一、准备 Java 运行环境

1. 查看系统版本

cat /etc/centos-release

2. 安装 JDK(推荐 JDK 8 或 JDK 11)

方式一:使用 yum(简单)

# JDK 8
sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

# JDK 11
sudo yum install -y java-11-openjdk java-11-openjdk-devel

方式二:手动安装 Oracle JDK(可选)

tar -zxvf jdk-8uXXX-linux-x64.tar.gz -C /usr/local/

3. 验证 Java

java -version

二、上传 Java 应用

常见 Java 应用形式:

  • xxx.jar(Spring Boot 等)
  • war 包(部署到 Tomcat)

1. 创建目录

mkdir -p /opt/apps/myapp
cd /opt/apps/myapp

2. 上传文件

# 使用 scp(本地)
scp myapp.jar root@服务器IP:/opt/apps/myapp/

三、运行 Java 应用

方式一:直接运行(测试用)

java -jar myapp.jar

方式二:后台运行(推荐)

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

查看日志:

tail -f app.log

四、使用 systemd 管理(生产推荐 ✅)

1. 创建服务文件

vim /etc/systemd/system/myapp.service

内容示例:

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

[Service]
User=root
WorkingDirectory=/opt/apps/myapp
ExecStart=/usr/bin/java -jar /opt/apps/myapp/myapp.jar
SuccessExitStatus=143
Restart=on-failure

[Install]
WantedBy=multi-user.target

2. 启动服务

systemctl daemon-reload
systemctl start myapp
systemctl enable myapp

3. 查看状态

systemctl status myapp

五、配置防火墙(必要)

开放端口(如 8080)

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

六、使用 Nginx 反向代理(可选)

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

七、常见问题

1. 端口被占用

netstat -tunlp | grep 8080

2. 内存不足

java -Xms256m -Xmx512m -jar myapp.jar

3. 应用崩溃自动重启

Restart=always

总结(最简流程)

yum install java -y
mkdir /opt/apps/myapp
上传 jar
nohup java -jar xxx.jar &

如果你告诉我:

  • CentOS 版本
  • Java 应用类型(Spring Boot / Tomcat / 其他)
  • 是否要公网访问

我可以给你 更精确的部署方案。

0 踩