Spring Boot 项目部署到 Linux服务器

1.首先将SpringBoot项目打包成JAR包,然后通过FTP工具上传到Linux,执行如下命令:

java -jar xxx.jar &

该命令执行后,启动jar,一旦shell窗口关闭后,JAR就停止运行了.

若需要项目在后台一直运行,需要通过如下命令启动JAR:

nohup java -jar xxx.jar > console.log 2 > &1 &

上述 2 和 1 的含义如下:

0 标准输入 (一般是键盘)

1 标准输出 (一般是显示屏,是用户终端控制台)

2 标准错误 (错误信息输出)

上述 console.log 为日志文件,需要在Linux中提前创建:

touch console.log

1.实时跟踪日志:

tailf console.log | grep --line-buffered findAll

实时跟踪日志,只要执行findAll这个方法,就会将其对应的日志打印出来,用来跟踪特定的日志运行.

–line-buffered 是一行的缓冲区,只要这一行的缓冲区满了就会打印出来,所以可以用于实时监控日志.

2.tailf -n 200 console.log 打印最后200行日志,并持续跟踪日志.

tail -n 500 console.log | more 分页查看最后500行日志.

1.编写一个shell脚本,命名为 start_JAR.sh,脚本和可执行JAR放在同一目录下.

#!/bin/sh
JAR_NAME=Xxx-0.0.1-SNAPSHOT.jar

tpid=ps -ef|grep $JAR_NAME|grep -v grep|grep -v kill|awk '{print $2}'
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 5
tpid=ps -ef|grep $JAR_NAME|grep -v grep|grep -v kill|awk '{print $2}'
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi

tpid=ps -ef|grep $JAR_NAME|grep -v grep|grep -v kill|awk '{print $2}'
if [ ${tpid} ]; then
    echo 'App is running.'
else
    echo 'App is NOT running.'
fi

rm -f tpid
nohup java -jar ./$JAR_NAME --spring.profiles.active=test &
echo $! > tpid
echo Start Success!

2.执行 start_JAR.sh 脚本,启动可执行JAR.

添加可执行权限:

chmod +x start_JAR.sh

执行脚本:

./start_JAR.sh

Original: https://www.cnblogs.com/herokevin/p/15811658.html
Author: 暴走编程
Title: Spring Boot 项目部署到 Linux服务器

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/610004/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • zabbix钉钉报警

    1、要在linux中安装python3 yum install -y python3(如果直接安装不上参考别的文章) 这个安装好后默认有pip3(安装好模块否则发送不到) pip3…

    Linux 2023年6月6日
    095
  • 树莓派Raspiberry 编译Linux实时内核PREEMPT-RT 实战

    树莓派4B 实时内核(Preempt_RT)的配置和编译https://blog.csdn.net/zlp_zky/article/details/114994444 基本按照这个…

    Linux 2023年6月7日
    0110
  • Spring事务(四)-事务隔离级别

    Spring @Transactional注解isolation属性 @Transactional注解通过isolation属性设置事务隔离级别。如下: @Transactiona…

    Linux 2023年6月6日
    074
  • Java动态脚本Groovy读取配置文件

    前言:请各大网友尊重本人原创知识分享,谨记本人博客: 南国以南i 核心涉及: @Value:作用是通过注解将常量、配置文件中的值、其他bean的属性值注入到变量中,作为变量的初始值…

    Linux 2023年6月14日
    077
  • nginx-add_header指令

    介绍 前端子系统由于业务形态,会有各种相同根域名的子系统相互调用,这时候就需要相应的子系统在nginx上支持跨域配置。 业务使用的样例 add_header ‘Access-Con…

    Linux 2023年6月6日
    0105
  • Vector底层实现

    vector的三个私有成员 :_start 记录初始位置, _finish 记录有效字符, _endofstoage 记录容量大小 vector会存储的类型不同,所以要用模版来定类…

    Linux 2023年6月13日
    099
  • LVS+keepalived+nginx+tomcat

    一、 环境准备 本次配置基于DR负载均衡模式,设置一个VIP(Virtual IP)为19.50.67.173,用户只需要访问这个IP地址即可获得后端服务 其中,负载均衡主机为19…

    Linux 2023年6月6日
    0134
  • LeetCode 155最小栈: 无额外占用空间-储存差值 |Min Stack with No extra space-Store as Difference

    Problem description Design a stack that supports push, pop, top, and retrieving the minimu…

    Linux 2023年6月13日
    090
  • 学习c语言时对一些疑问的测试

    include int main(){/ 1 /// int a[3][3]={6,1,2,3,4,5};// int p=&a[0][0];// printf(&#822…

    Linux 2023年6月6日
    087
  • centos7自动化ssh免密

    在做免密前要先手动生成公钥: ssh-keygen -t rsa 敲击三次回车即可 写一个shell脚本: expect命令可以获取到命令返回结果并且根据指定内容进行自动发送相应字…

    Linux 2023年6月6日
    0144
  • 《拉钩课程 — 分布式技术原理与实战》学习笔记

    1、分布式系统是用来解决集中式架构的性能瓶颈问题,其核心是可扩展性,其特点包括:不出现单点故障、无状态等。依照 CAP 理论,分布式系统只能在 CP 和 AP 之间做取舍。 2、B…

    Linux 2023年6月16日
    0135
  • Linux 配置Maven(避免踩坑篇)

    前言:请各大网友尊重本人原创知识分享,谨记本人博客: 南国以南i 二、下载好的maven安装包放在磁盘的 /usr/local/ 目录下,如下图: 三、解压该压缩文件 tar -z…

    Linux 2023年6月14日
    0104
  • redis导致的错误错误

    ==========双预防系统启动成功========== 14:42:39.821 [http-nio-9217-exec-1] INFO o.a.c.c.C.[.[.[/] -…

    Linux 2023年5月28日
    0156
  • 2021 个人年度小结

    因为不用考研,所以大四一整年可以自由自在地学习一直以来想学却又没时间去学的东西。快乐的大四时光总是显得十分短暂,这篇博客主要用来总结过去一年所学的知识。 计算机组成原理 上的是哈尔…

    Linux 2023年6月7日
    0101
  • Java基础之接口篇

    Overload和Override的区别?重载Overload:表示同⼀个类中可以有多个名称相同的⽅法,但这些⽅法的参数列表各不相同,参 数个数或类型不同 重写Override:表…

    Linux 2023年6月7日
    097
  • 误操作使用fdisk删除了/root所在分区,该如何把文件拷贝出来

    误操作 fdisk命令误操作,将 /root 所在分区删除后新建了…… 恢复尝试1 起初以为是改一下 /etf/fstab 就好了,于是进入急救模式,尝试 …

    Linux 2023年6月8日
    0129
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球