温馨提示×

linux java怎么部署项目

小樊
33
2026-10-24 08:57:49
栏目: 编程语言

在 Linux 上用 Java 部署项目,常见流程如下(以 Spring Boot 为例,也适用于普通 Java 项目):


一、准备工作

1. 安装 JDK

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

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

验证:

java -version

2. 上传项目文件

常见方式:

  • scp
scp target/app.jar user@ip:/home/user/app/
  • 或使用 Git、FTP、SFTP

二、运行 Java 项目

方式一:直接运行(最简单)

java -jar app.jar

后台运行:

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

方式二:使用 Systemd(推荐,生产环境)

1. 创建服务文件

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

内容示例:

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

[Service]
User=appuser
WorkingDirectory=/home/user/app
ExecStart=/usr/bin/java -jar /home/user/app/app.jar
SuccessExitStatus=143
Restart=always

[Install]
WantedBy=multi-user.target

2. 启动服务

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

查看状态:

sudo systemctl status myapp

三、配置端口 & 防火墙

1. 修改端口(Spring Boot)

server:
  port: 8080

2. 开放端口

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

# ufw
sudo ufw allow 8080

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

sudo apt install nginx

配置:

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://localhost:8080;
    }
}
sudo nginx -t
sudo systemctl restart nginx

五、日志查看

tail -f app.log
journalctl -u myapp -f

六、常见部署方式总结

方式 场景
java -jar 测试、临时
systemd 生产推荐
Docker 微服务
K8s 大规模

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

  • 项目类型(Spring Boot / 普通 Java / 微服务)
  • Linux 发行版
  • 是否用 Docker

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

0 踩