温馨提示×

centos怎样部署java应用

小樊
53
2026-09-02 17:18:14
栏目: 编程语言

在 CentOS 上部署 Java 应用,通常包含安装 JDK、上传/构建应用、配置运行方式、设置开机自启、以及(可选)反向代理。下面给你一套通用、可落地的步骤,适用于 Spring Boot、普通 Java 程序等。


一、安装 Java 运行环境(JDK)

1. 查看系统版本

cat /etc/centos-release

2. 安装 OpenJDK(推荐)

CentOS 7

yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

CentOS 8 / Stream

dnf install -y java-17-openjdk

如果是 Spring Boot 3,建议 Java 17+

3. 验证

java -version

二、上传或构建 Java 应用

方式一:直接上传 jar 包

mkdir -p /opt/app
cd /opt/app
# 使用 rz / scp / ftp 上传 app.jar

方式二:服务器上用 Maven 构建(可选)

yum install -y maven
mvn clean package -DskipTests

生成的文件一般在:

target/app.jar

三、运行 Java 应用

1. 直接运行(测试用)

java -jar /opt/app/app.jar

2. 后台运行(推荐)

nohup java -jar /opt/app/app.jar > app.log 2>&1 &

查看日志:

tail -f app.log

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

1. 创建服务文件

vi /etc/systemd/system/java-app.service

内容示例:

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

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

[Install]
WantedBy=multi-user.target

2. 重载并启动

systemctl daemon-reload
systemctl start java-app
systemctl enable java-app

3. 常用命令

systemctl status java-app
systemctl restart java-app
journalctl -u java-app -f

五、防火墙与端口

假设应用端口是 8080:

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

测试访问:

curl http://localhost:8080

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

1. 安装 Nginx

yum install -y nginx
systemctl enable nginx
systemctl start nginx

2. 配置代理

vi /etc/nginx/conf.d/app.conf
server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
nginx -t
systemctl reload nginx

七、常见补充

JVM 参数示例

java -Xms512m -Xmx1024m -jar app.jar

多环境配置

java -jar app.jar --spring.profiles.active=prod

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

  • CentOS 版本(7 / 8 / Stream)
  • Java 应用类型(Spring Boot / 普通 jar)
  • 是否需要 HTTPS / Docker / 多实例

我可以直接给你定制部署方案。

0 踩