SpringBoot 项目包在linux的启动

本文介绍了如何将SpringBoot应用部署到Linux服务器,包括使用maven打包,将jar文件拷贝到服务器,配置文件的处理,以及使用Java命令启动项目,并通过特定命令检查进程确保项目启动成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以前部署的都是需要显性依赖服务器tomcat或者weblogic的项目,上周 需要把我的SpringBoot的项目部署在linux上,这要怎么弄呢?经过一番搜索,学习,总结如下:
第一步:通过maven命令:
mvn package -Dmaven.test.skip=true
进行打包;
第二:将项目target目录下面的项目jar包,拷贝到linux环境的要部署的目录下;
第三:将要使用的配置文件同样拷贝在这一目录下(当然也可以自己指定另一个目录),并修改相应的配置参数的值(一般情况,把配置文件放在jar包之外 ,是因为修改比较方便);
第四:使用Java 命令启动该项目:
nohup java -jar ...jar application.yml &

其中,…jar为你的项目jar包名称,application.yml的也可以是.qpplication.properties,使用nohup开头,&结尾的格式,可以实现服务不会自动关闭。

第五:启动以后,可以通过
ps aux|grep ...jar
查看进程,确定改项目是否启动,若有进程,则表示启动成功。
### 部署Spring Boot项目至Linux服务器 #### 准备工作 为了成功部署Spring Boot应用程序到Linux服务器,需先完成一些准备工作。这包括确保目标Linux机器上已安装Java环境以及必要的构建工具如Maven或Gradle。 #### 构建可执行JAR文件 通常情况下,会通过打包成一个独立运行的JAR文件来简化部署流程。可以利用Maven命令`mvn clean package` 或者 Gradle 命令 `gradle build` 来创建包含所有依赖项的应用程序包[^1]。 ```bash $ mvn clean package -DskipTests ``` 上述命令将会跳过测试阶段并生成最终版本的目标jar文件位于项目的target目录下。 #### 将应用上传至服务器 使用SCP(Secure Copy Protocol)或者其他适合的方式把本地计算机上的.jar文件传输给远程Linux主机: ```bash scp /path/to/your-app.jar user@remote:/opt/springbootapp/ ``` 这里假设将应用程序放置于/opt/springbootapp路径之下;请根据实际情况调整源路径和目的位置。 #### 设置启动脚本和服务管理器集成 为了让服务能够自动重启并在后台持续运作,在Linux环境下推荐配置Systemd作为守护进程管理者。下面是一个简单的systemctl service单元定义示例: ```ini [Unit] Description=My Spring Boot Application Service After=syslog.target [Service] User=root ExecStart=/usr/bin/java -jar /opt/springbootapp/your-app.jar SuccessExitStatus=143 Restart=on-failure [Install] WantedBy=multi-user.target ``` 保存以上内容为my-spring-boot-service.service,并将其置于/etc/systemd/system/内。之后可以通过如下指令激活新添加的服务: ```bash sudo systemctl daemon-reload sudo systemctl enable my-spring-boot-service sudo systemctl start my-spring-boot-service ``` 对于希望以WAR形式而非自含式的JAR方式发布,则需要额外继承`SpringBootServletInitializer`类以便支持外部容器部署模式[^2]。 #### 使用DevTools进行热更新(可选) 如果开发过程中频繁修改代码并且想要实现即时生效而无需每次都重新编译整个工程的话,可以在pom.xml中加入spring-boot-devtools模块[^3]。不过需要注意的是该特性仅限于开发环境中开启,生产环境应禁用此功能以免影响性能表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值