温馨提示×

linux java怎样部署项目

小樊
53
2026-10-15 12:59:58
栏目: 编程语言

下面按常见场景给你讲一下在 Linux 服务器上用 Java 部署项目 的通用流程和几种主流方式,适合 Spring Boot / 普通 Java Web 项目。


一、部署前准备

1. 服务器环境

常见 Linux:

  • CentOS / Rocky / Alma
  • Ubuntu / Debian

2. 安装 JDK

# Ubuntu / Debian
sudo apt update
sudo apt install openjdk-17-jdk -y

# CentOS
sudo yum install java-17-openjdk-devel -y

验证:

java -version

二、常见 Java 项目部署方式


方式一:Spring Boot(最推荐 ✅)

1. 本地打包

mvn clean package
# 或
gradle build

生成:

xxx.jar

2. 上传到 Linux

scp xxx.jar user@ip:/opt/app/

3. 直接运行

cd /opt/app
java -jar xxx.jar

4. 后台运行(推荐)

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

5. 使用 Systemd(生产环境推荐)

创建服务:

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

内容:

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

[Service]
User=appuser
WorkingDirectory=/opt/app
ExecStart=/usr/bin/java -jar /opt/app/xxx.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

启动:

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

方式二:传统 WAR 包(Tomcat)

1. 安装 Tomcat

sudo apt install tomcat9

2. 部署

cp xxx.war /var/lib/tomcat9/webapps/

访问:

http://ip:8080/xxx

方式三:Docker 部署(现代 ✅)

1. Dockerfile

FROM openjdk:17-jdk
COPY xxx.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

2. 构建运行

docker build -t myapp .
docker run -d -p 8080:8080 myapp

三、常见配套

Nginx 反向代理

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

防火墙

sudo ufw allow 8080

四、部署后检查

ps -ef | grep java
tail -f app.log
curl http://localhost:8080

五、简单总结

场景 推荐方式
新项目 Spring Boot + jar
老项目 Tomcat + war
微服务 Docker

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

  • 用的 Spring Boot 还是普通 Java
  • CentOS 还是 Ubuntu
  • 是否有 数据库 / Nginx

我可以直接给你一套可执行命令。

0 踩