温馨提示×

centos如何部署java项目

小樊
32
2026-09-17 22:09:10
栏目: 编程语言

CentOS 上部署 Java 项目,通常分为 环境准备 → 项目打包 → 运行 → 守护进程 → 反向代理(可选) 几个步骤。下面给你一份通用、实战可用的部署指南


一、环境准备

1. 更新系统

sudo yum update -y

2. 安装 JDK(以 JDK 8 为例)

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

验证:

java -version

如果是 Spring Boot 项目,推荐 JDK 8 / JDK 11 / JDK 17,按项目要求来。


二、上传 Java 项目

方式一:直接上传 jar / war 包

# 本地
scp target/app.jar root@服务器IP:/opt/java/

# 服务器
mkdir -p /opt/java

方式二:拉取代码自己打包(可选)

yum install git maven -y
git clone xxx
mvn clean package

三、运行 Java 项目

1. 运行 jar 包(Spring Boot 常用)

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

查看日志:

tail -f app.log

四、使用 Systemd 守护进程(推荐)

1. 创建服务文件

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

内容示例:

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

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

[Install]
WantedBy=multi-user.target

2. 启动服务

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

查看状态:

systemctl status java-app

五、开放端口(防火墙)

如果项目端口是 8080:

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

云服务器还要在 安全组 开放端口。


六、Nginx 反向代理(推荐生产环境)

1. 安装 Nginx

yum install nginx -y
systemctl start nginx
systemctl enable nginx

2. 配置反向代理

vim /etc/nginx/conf.d/java.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 restart nginx

七、常见 Java 项目类型

项目类型 部署方式
Spring Boot java -jar
传统 War 部署到 Tomcat
微服务 jar + nginx + 注册中心

八、常见问题

1. 端口被占用

lsof -i:8080
kill -9 PID

2. 内存不足

java -Xms256m -Xmx512m -jar app.jar

3. 项目启动慢

检查:

  • 数据库是否可达
  • 外网访问(如 Maven 中央仓库)

如果你能告诉我:

  • ✅ Java 项目类型(Spring Boot / SSM / 微服务)
  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 是否用 Docker

我可以直接给你精准部署方案

0