尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Spring Boot:项目服务器完整部署教程(零基础可直接实操)

Spring Boot:项目服务器完整部署教程(零基础可直接实操)
📅 发布时间:2026/7/23 3:42:57

本地写好的 Spring Boot 项目,想要让外网所有人访问、线上运行,就需要部署到云服务器(阿里云/腾讯云/华为云等)。Spring Boot 内置 Tomcat,无需单独安装 Tomcat,打包成 Jar 包即可直接运行,是目前最主流、最简单的部署方式。

本文讲解最通用、企业最常用的 Jar 包部署方案,包含:环境安装、打包、上传、运行、后台常驻、开机自启、域名访问、故障排查,全程可直接复刻操作。

一、部署前置准备(服务器必备环境)

主流服务器系统:CentOS 7 / CentOS 8 / Ubuntu,本文以 CentOS 为例。

1.1 安装 JDK(必须)

Spring Boot 项目运行依赖 JDK,推荐 JDK8 / JDK17(适配绝大多数项目)。

CentOS 一键安装命令:

yum install -y java-1.8.0-openjdk-devel

安装完成验证:

java -version

输出版本号即安装成功。

1.2 服务器放行端口(关键!外网访问必备)

Spring Boot 默认端口 8080,必须在服务器安全组放行端口,否则外网打不开项目。

阿里云/腾讯云后台 → 安全组 → 入站规则

放行端口:8080、80、443(后续域名、HTTPS 使用)

协议:TCP,授权所有IP(0.0.0.0/0)

同时关闭服务器防火墙(或开放端口):

# 关闭防火墙 systemctl stop firewalld systemctl disable firewalld

二、本地项目打包(生成可运行 Jar 包)

2.1 确认配置

Spring Boot 项目默认打包方式为 Jar,无需修改配置,保证 pom.xml 中打包方式正确:

<packaging>jar</packaging>

2.2 IDEA 一键打包(最简单)

1、打开 IDEA 右侧Maven面板

2、找到当前项目 → Lifecycle

3、依次执行:clean → package

打包成功后,在项目target目录下生成xxx.jar文件,这就是部署包。

命名建议:demo-1.0.jar,简洁无中文、无空格。

或者通过命令

clean:删除target/目录(清空旧的构建产物)

package:编译 → 测试 → 打包成 JAR

-DskipTests:跳过测试(项目没有测试代码,加上这个更快)

// 编译 + 打包

mvn clean package -DskipTests

三、上传 Jar 包到服务器

使用工具:Xshell、FinalShell、WinSCP 均可,推荐 FinalShell(可视化上传)。

3.1 新建部署目录

服务器新建专门存放项目的文件夹,统一管理:

mkdir -p /home/springboot cd /home/springboot

3.2 上传文件

将本地 target 下的xxx.jar直接拖拽上传至/home/springboot目录。

四、运行 Spring Boot 项目(两种方式)

4.1 临时运行(测试用,关闭终端项目停止)

// 直接启动 SpringBoot 内置 Tomcat,加载项目、运行端口、启动所有功能。 java -jar demo-1.0.jar

看到Started XxxApplication in xxx seconds即启动成功。

缺点:关闭 Xshell 终端,项目直接停止,仅适合测试。

4.2 正式运行(后台常驻,企业生产用)

使用 nohup 让项目后台运行,退出终端不关闭,且自动输出日志:

nohup java -jar demo-1.0.jar > log.out 2>&1

命令解释:

nohup:后台运行,忽略终端关闭信号

> log.out:将日志输出到 log.out 文件

2>&1:错误日志统一输出

&:后台常驻进程

五、项目启停、重启常用命令

5.1 查看项目运行状态

# 查看Java进程 ps -ef | grep java

5.2 停止项目

先查询 PID,再 kill 进程:

# 优雅停止 kill -9 进程PID

5.3 重启项目(部署更新必用)

1、停止旧进程

2、上传新 Jar 包

3、重新执行后台启动命令

5.4 查看运行日志

# 实时查看日志 tail -f log.out

六、配置服务器开机自启(项目永久在线)

实现服务器重启后,项目自动启动,无需手动操作。

6.1 创建系统服务文件

vim /etc/systemd/system/springboot.service

6.2 写入以下配置(直接复制修改Jar包名)

[Unit] Description=SpringBoot Project After=network.target [Service] Type=simple # 此处替换为你的服务器Jar包绝对路径 ExecStart=/usr/bin/java -jar /home/springboot/demo-1.0.jar Restart=always [Install] WantedBy=multi-user.target

6.3 生效自启配置

# 重新加载配置 systemctl daemon-reload # 设置开机自启 systemctl enable springboot # 启动项目 systemctl start springboot # 查看状态 systemctl status springboot

6.4 自启常用命令

# 停止项目 systemctl stop springboot # 重启项目 systemctl restart springboot # 取消开机自启 systemctl disable springboot

七、外网访问项目

7.1 IP+端口访问

启动成功后,直接通过服务器公网IP+8080端口访问:

示例:http://120.xx.xx.xx:8080

7.2 域名访问(可选)

1、购买域名,完成备案

2、域名解析:A记录 → 指向服务器公网IP

3、服务器安装 Nginx 反向代理,实现 80 端口直接访问(无需带8080)

Nginx 就是 SpringBoot 项目的外网门面:负责接客、安全防护、简化访问、分担压力,让后端程序只专注处理业务逻辑。

部署方式

访问地址

安全性

企业使用场景

纯 Jar 裸跑(无 Nginx)

必须带 8080 端口

低(后端直接暴露公网)

本地测试、临时演示

Nginx + Jar 部署

无需端口,域名直接访问

高(隐藏后端服务)

正式线上生产环境

八、常见部署报错排查

报错现象

核心原因

解决方案

外网打不开项目

安全组/防火墙未放行8080端口

云服务器后台放行端口,关闭防火墙

端口被占用

8080端口已有进程运行

kill占用进程,或修改项目端口

启动瞬间闪退

JDK未安装、Jar包损坏、配置错误

检查java版本,重新打包上传,查看日志

数据库连接失败

本地数据库地址未改服务器地址

application.yml 改为服务器数据库IP

九、部署总结(企业标准流程)

1、服务器安装 JDK8,放行对应端口;

2、本地 Maven 打包生成 Jar 包;

3、上传至服务器指定目录,使用 nohup 后台运行;

4、配置 systemd 开机自启,保证项目稳定在线;

5、通过公网IP+端口外网访问,搭配Nginx实现域名访问。

该方案稳定、零成本、无容器依赖,是中小企业 Spring Boot 项目最主流的线上部署方式。

相关新闻

  • 2026 年至今,沭阳正规的矿物棉源头厂家选哪家,揭秘!这种纤维如何颠覆纺织行业?-安腾矿业 - 行业推荐官【认证】
  • Spring Boot 3 + Vue 3 美食分享与点评平台源码 前后端分离实战
  • 计算机毕业设计之在线医疗咨询网站

最新新闻

  • SM2双证书与P10请求全解析:从原理到国密集成实战
  • PyCharm脱机连接Oracle数据库实战指南
  • 政企数字化营销测评:GEO 优化如何助力国企、上市公司拓展线上渠道
  • 深入解析C++ vector的push_back:扩容机制、性能陷阱与最佳实践
  • Grok大语言模型技术解析:架构特性与工程实践指南
  • 2026年7月浙江不锈钢波纹管/浙江管道直饮水波纹管制造商推荐合集_浙江金孚管业有限公司 - 品牌宣传支持者

日新闻

  • 亨得利盐城维修点在哪里?手表维修保养地址指南**公示(2026年7月最新) - 亨得利官方
  • 提升.NET API安全性:Boxed.AspNetCore.Swagger认证授权最佳实践
  • 帝舵佛山**网点地址更新:2026年7月售后热线电话与服务客户指南 - 帝舵中国官方服务中心

周新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号