首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
虚拟化.超融合.云计算
›
公有云
›
SAAS
›
Spring Boot 项目摆设与开机自启详解
返回列表
发新帖
Spring Boot 项目摆设与开机自启详解
[复制链接]
发表于 2025-12-27 14:48:52
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
Spring Boot 项目有两种摆设方式:
保举:直接运行 JAR 包
(无需安装外部 Tomcat,Spring Boot 内嵌容器,设置更简单);
WAR 包摆设
(需禁用内嵌 Tomcat,适配外部 Tomcat)。
下面优先讲更简单的
JAR 包摆设+开机自启
,再增补 WAR 包适配要点。
方式1:Spring Boot JAR 包摆设(保举)
条件
当地已将 Spring Boot 项目打包为 xxx.jar(可通过 mvn clean package 或 IDE 打包);
服务器已安装 Java 17(你已完成)。
步调1:上传 JAR 包到服务器
# 创建应用目录(规范管理)
sudo mkdir -p /opt/springboot-app
# 上传 JAR 包(替换为你的 JAR 包名和服务器IP)
scp your-app.jar admin@你的服务器IP:/opt/springboot-app/
# 给 JAR 包执行权限
sudo chmod +x /opt/springboot-app/your-app.jar
复制代码
步调2:创建 systemd 服务文件(开机自启焦点)
sudo nano /etc/systemd/system/springboot-app.service
复制代码
粘贴以下设置(根据你的实际情况修改):
[Unit]
Description=Spring Boot Application
After=network.target # 网络启动后再启动应用
[Service]
# 运行用户(避免 root 运行,提升安全性)
User=admin
Group=admin
# 应用目录
WorkingDirectory=/opt/springboot-app
# Java 启动命令(指定 JAR 包,配置 JVM 参数)
ExecStart=/usr/bin/java -jar /opt/springboot-app/your-app.jar \
-Xms512M -Xmx1024M # JVM 内存配置,根据服务器配置调整
# 重启策略(异常退出时自动重启)
Restart=on-failure
RestartSec=5 # 重启间隔 5 秒
# 日志输出(可选,也可依赖 Spring Boot 自身日志)
StandardOutput=append:/opt/springboot-app/app.log
StandardError=append:/opt/springboot-app/app-error.log
[Install]
WantedBy=multi-user.target # 多用户模式下开机自启
复制代码
生存退出(Ctrl+O → 回车 → Ctrl+X)。
步调3:设置并启动服务
# 重新加载 systemd 配置
sudo systemctl daemon-reload
# 启动应用服务
sudo systemctl start springboot-app
# 设置开机自启
sudo systemctl enable springboot-app
# 查看服务状态(确认是否启动成功)
sudo systemctl status springboot-app
复制代码
如果状态表现 active (running),分析启动乐成。
步调4:验证应用访问
访问 http://你的服务器IP:应用端口/接口路径(端口是你 Spring Boot 设置的 server.port,默认 8080),能正常访问接口即摆设乐成。
方式2:Spring Boot WAR 包摆设(适配外部 Tomcat)
如果必须用 WAR 包摆设到外部 Tomcat,须要先修改 Spring Boot 项目代码,再按之前的 Tomcat 摆设步调利用:
步调1:当地项目修改(关键适配)
修改 pom.xml
:
<packaging>war</packaging>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
复制代码
修改启动类
:
让启动类继续 SpringBootServletInitializer 并重写 configure 方法:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class YourAppApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(YourAppApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(YourAppApplication.class, args);
}
}
复制代码
打包 WAR 包
:
实验 mvn clean package,天生的 WAR 包在 target 目次下。
步调2:服务器摆设
按之前给你的 Tomcat 摆设步调利用:
将 WAR 包上传到 Tomcat 的 webapps 目次;
设置 Tomcat 的 systemd 服务并设置开机自启;
访问路径:http://服务器IP:Tomcat端口/WAR包名/接口路径。
常用运维下令
# 重启 Spring Boot 应用
sudo systemctl restart springboot-app
# 停止应用
sudo systemctl stop springboot-app
# 查看应用日志(Spring Boot 自身日志,默认在应用目录下)
tail -f /opt/springboot-app/logs/xxx.log # 或你配置的日志路径
# 查看系统服务日志
journalctl -u springboot-app -f
复制代码
总结
保举方案
:Spring Boot 优先用
JAR 包摆设
,无需外部 Tomcat,通过 systemd 设置服务即可实现开机自启,步调更简单;
WAR 包适配
:需修改项目 pom.xml(禁用内嵌 Tomcat)和启动类(继续 SpringBootServletInitializer),再摆设到外部 Tomcat;
自启焦点
:通过 systemd 服务文件设置 ExecStart 启动下令、Restart 重启战略,实验 enable 开启开机自启。
回复
使用道具
举报
返回列表
浏览过的版块
移动端开发
Java
分布式数据库
DevOps与敏捷开发
人工智能
前端开发
Oracle
Mysql
程序人生
徐锦洪
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表