个人工作版(Linux)

最近新入职了一家公司,好久没有进行Linux备份之类的事情了,很多都忘记了,索性最近的使用自己记录下来。

  基于SpringBoot项目,第一想法可能是docker打个镜像部署,但很可惜,没学到这点,就简单的jar包部署,也没有做Jekins/Jpom这些热部署。

1.后端 : jar包备份,上传,脚本

1.1 jar包备份

  # 复制文件,原文件保留
  cp xxx.jar xxx.jar20251103
  # 执行后:
  # ✅ xxx.jar 仍然存在
  # ✅ xxx.jar20251103 是新复制的备份文件

1.2 上传

  现在基本都是可视化的shell,这点就不提了。

1.3 脚本

PID=$(ps -ef | grep xxx.jar | grep -v grep | head -n 1 | awk '{print $2}')

if [ -n "$PID" ]; then
echo "Stopping existing process: $PID"
kill -9 $PID
sleep 2
else
echo "No existing process found"
fi

# 启动新进程
echo "Starting xxx.jar..."
nohup java -Xms512m -Xmx512m -Dspring.profiles.active=dev11 -Dnacos.logging.default.config.enabled=false -Dfile.encoding=UTF-8 -jar ./xxx.jar > /dev/null 2>&1 &

echo "Application started"

  解释:查询jar包运行的PID,kill -9 杀死PID ,等待2s,启动新jar包,使用内存调优,xms,xmx就是JVM运行的内存

1.4 运行

#使用sh 直接运行脚本
sh start.sh

2.前端: dist文件上传

  现在都是使用ngnix负载,不影响程序运行,所以直接把前端文件打包后上传至服务器就行了

2.1打包

  因为我是Mac系统,所以命令比较多,首先,进入项目根目录,打包完的dist文件上传至服务器内

#删除之前版本并打包
rm -rf dist && npm run build

2.2备份并覆盖

# 删除并备份
rm -rf dist-old && mv dist dist-old

这段应该能看懂,删除的同时把自己的dist放进去,基本上都是自己打包的dist,服务器上的前端文件上front命名,像我就是这样操作的,更清晰明了

rm -rf front && mv dist front

2.3 这样就不用管了,服务器会自动加载

  至此,前后端已经完成了打包,备份,上传,运行,可以通过域名访问项目了。

posted @ 2025-11-12 16:43  此间正年少  阅读(9)  评论(0)    收藏  举报