SpringBoot项目部署到linux服务器

本文系统总结了SpringBoot项目部署到Linux服务器的流程,包括从git拉取项目、编译打包、启动项目、编写启动脚本以及访问项目等步骤。详细介绍了各步骤的操作方法,如拉取项目的目录创建、启动项目的多种方式、脚本编写及权限设置等,还提及访问失败的解决办法。

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

进行了这么长时间SpringBoot项目开发,今天想系统的总结一下项目部署到linux服务器的流程,并在上一篇介绍了linux环境的准备与搭建,SpringBoot项目部署到linux服务器之环境搭建,这篇记录一下从git上拉取项目,并写脚本启动项目,访问项目。

一、从git拉取项目

前提是已经将项目上传到git仓库,我的举例项目上传到了github上,或者是本地打成jar并上传到linux服务器,本篇以从git仓库拉取为例。
新建一个目录并执行如下:

[root@localhost zrk]# git clone https://github.com/zrk333/myboot.git

会生成myboot文件夹,进入文件夹(cd myboot)

二、编译打包

打包编译后文件如下:

[root@localhost myboot]# mvn clean install
[root@localhost myboot]# ls
myboot.iml  nohup.out  pom.xml  README.md  src target

三、启动项目

进入target文件夹下

[root@localhost myboot]# cd target
[root@localhost target]# ls
classes            generated-test-sources  maven-status               myboot-0.0.1-SNAPSHOT.jar.original  test-classes
generated-sources  maven-archiver          myboot-0.0.1-SNAPSHOT.jar  surefire-reports

1)可以使用java -jar 启动

[root@localhost target]# java -jar myboot-0.0.1-SNAPSHOT.jar

2)可以使用nohup后台启动

[root@localhost target]# nohup java -jar myboot-0.0.1-SNAPSHOT.jar &
  1. 可以写脚本启动
    为了方便以后提交代码后重启项目,可以写脚本进行重启,可以参考四、编写启动脚本

四、编写启动脚本

1)回到myboot目录,并创建start文件

[root@localhost target]# cd ..
[root@localhost myboot]# touch start

2)编写启动脚本

[root@localhost myboot]# vi start

插入如下内容:(部分参数需要根据实际情况调整,比如项目名称,使用的环境等)

#!/bin/sh

git pull

mvn clean install

echo "restart application"

ps -ef | grep myboot | grep -v grep | awk '{print $2}' | xargs kill -9

nohup java -jar -Dspring.application.name=myboot -Dspring.profiles.active=dev target/myboot-0.0.1-SNAPSHOT.jar &

3)执行脚本

[root@localhost myboot]# ./start

最终截图(片段)如下:
在这里插入图片描述
4) 添加权限
第一次执行应该会有如下提示:

[root@localhost myboot]# ./start
-bash: ./start: Permission denied

需要执行如下命令才行:

[root@localhost myboot]# sudo chmod -R 777 start

五、访问项目

1)使用浏览器或者postman用ip:port+url访问:
在这里插入图片描述
2)查看服务器ip地址

[root@localhost myboot]# ip addr

在这里插入图片描述
3) 如果访问失败,可能是因为端口没有开发,可以关闭防火墙

  • 1服务器访问测试
[root@localhost myboot]# curl localhost:8081/user/getUserInfo?id=1
{"id":1,"name":"张三","password":"123456"}[root@localhost myboot]
  • 2关闭防火墙(方式不唯一,可以参考其他资料)
    执行如下命令即可:
systemctl stop firewalld

整体流程应该差不多了,可以有时间的时候玩一下,仅供参考!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值