Linux 部署与管理 Spring Boot 项目保姆级全流程

一:检查yml文件配置

1.1 检查数据库配置

1.2 修改文件上传的目录

bash 复制代码
/usr/local/src/files/
private String uploadPath = "/usr/local/src/files";

1.3 检查依赖配置

1.4 将项目打成jar包

说明:先刷新maven依赖,clean,install。打的jar包在target文件夹下

二:项目上传

2.1 上传目录

bash 复制代码
cd /usr/local/src/

2.2 创建目录

在/usr/local/src/新建project文件夹

bash 复制代码
mkdir project

2.3 上传jar包

说明:将刚才打包的文件上传

2.4 运行项目

基础命令

bash 复制代码
java -jar files.jar
## 设置参数以及配置文件
nohup   java -Xms500m -Xmx500m -Xmn250m -Xss256k -server -jar evidence-service.jar  &  
ps -ef | grep evidence-service.jar
kill -9 pid

三:设置Linux服务器开机自启springboot项目

3.1 启动

在Linux上设置开机启动Java程序,例如:files.jar在Linux上启动Java程序的命令

bash 复制代码
nohup java -jar sysg.jar >/dev/null 2>&1 &

3.2 设置启动脚本

可以将程序启动的指令做成一个shell脚本,简单的做法创建一个test.sh文件,内容如下:

bash 复制代码
#!/bin/bash
 
export JAVA_HOME=/usr/local/src/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
 
cd /usr/local/src/project/
nohup java -jar sysg.jar > consoleMsg.log 2>&1 &

然后,最重要的一步就是修改Linux的开机启动配置文件(/etc/rc.d/rc.local

bash 复制代码
vim /etc/rc.d/rc.local

四:输出日志

先创建consoleMsg.log文件,在项目的安装目录下

bash 复制代码
touch consoleMsg.log
bash 复制代码
nohup java -jar sysg.jar > consoleMsg.log 2>&1 &
bash 复制代码
tailf -n 500 consoleMsg.log    //打印最后500行日志,并且持续跟踪日志。

tail -n 2000 consoleMsg.log | more   //分页查看最后2000行日志。

五:关闭jar包

1.找到进程号

bash 复制代码
ps -ef | grep media-service  #media-service需要关闭的jar包

2.杀掉当前进程

bash 复制代码
kill -s 9 15558

六:关闭特定端口号

1.查看特定的端口号是否被占用

bash 复制代码
netstat -tln | grep 5006

listen:表示被占用

2.查看当前端口的pid

bash 复制代码
lsof -i:5006

3.杀掉当前进程

bash 复制代码
kill -9 16322

七:通过快捷文件启动项目

7.1 编写sh文件

yaml 复制代码
#chmod u+x filename
#vi: set ff=unix ,must be done
#启动方法  
path=`pwd`
start(){ 
        nohup java -jar sysg.jar > consoleMsg.log 2>&1 &
}  
#停止方法  
stop(){  
        ps -ef|grep sysg.jar |grep -v "grep" |awk '{print $2}'|while read pid  
        do  
           kill -9 $pid  
        done  
}  
  
case "$1" in  
start)  
  start  
  ;;  
stop)  
  stop  
  ;;  
restart)  
  stop  
  start  
  ;;  
*)  
  printf 'Usage: %s {start|stop|restart}\n' "$prog"  
  exit 1  
  ;;  
esac 

7.2 执行sh文件

首先将sh文件变为可执行文件

bash 复制代码
chmod +x sysg.sh

启动sh文件

bash 复制代码
./sysg.sh restart

八:常见问题

  1. 端口被占用

    • 原因:旧进程未关闭
    • 解决:kill -9 $(lsof -t -i:8080)
  2. 权限不足

    • 解决:chmod +x start.sh
  3. Java 环境找不到

    • 解决:确认 JAVA_HOME 配置正确
相关推荐
悟纤2 小时前
当生产环境卡成 PPT:Spring Boot 线程 Dump 捉妖指南 - 第544篇
java·spring boot·后端
江影影影3 小时前
Spring Boot 2.6.0+ 循环依赖问题及解决方案
java·spring boot·后端
快乐就是哈哈哈3 小时前
《JSR303 数据校验全攻略:从入门到实战,玩转优雅的参数验证》
后端
codeGoogle4 小时前
昇腾揭开的伤疤,刺痛了谁?
后端
null不是我干的4 小时前
黑马SpringBoot+Elasticsearch作业2实战:商品搜索与竞价排名功能实现
spring boot·后端·elasticsearch
bobz9654 小时前
python3 包和项目管理工具 uv
后端
Re2757 小时前
揭秘索引的 “快”:从翻书到 B+ 树的效率革命
后端
David爱编程7 小时前
Java 三目运算符完全指南:写法、坑点与最佳实践
java·后端
学习编程的小羊8 小时前
Spring Boot 全局异常处理与日志监控实战
java·spring boot·后端