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)

大家都在看

  • .NET服务治理之限流中间件-FireflySoft.RateLimit

    FireflySoft.RateLimit自2021年1月发布第一个版本以来,经历了多次升级迭代,目前已经十分稳定,被很多开发者应用到了生产系统中,最新发布的版本是3.0.0。 它…

    Linux 2023年6月13日
    0111
  • windows下设置redis开机自启动

    windows: 在windows下安装目录下 打开命令窗口: redis-server.exe –service-install redis.windows.conf…

    Linux 2023年5月28日
    0111
  • sqlcmd执行含中文等字符的sql脚本时报错解决方案

    阅文时长 | 0.41分钟字数统计 | 668.8字符主要内容 | 1、问题说明 2、解决方案 3、常用的Code Page 4、声明与参考资料『sqlcmd执行含中文等字符的sq…

    Linux 2023年6月14日
    0128
  • redis 基本信息查询

    在客户端可以用telnet命令 telnet ip port 再输入info 返回如下信息: 每个参数的含义: redis_version redis版本gcc_version g…

    Linux 2023年5月28日
    0107
  • MIT6.828——Lab2(麻省理工操作系统实验)

    Lab2 Lab2 是关于操作系统存储管理的细节。主要是建立内存模型,页表,物理地址映射等。在Lab2之前,请复习好前序知识: Lab2内存管理准备知识 MIT6.828——Lab…

    Linux 2023年5月27日
    0124
  • iptables快速入门

    iptables简介 在生产实践过程中,为了保证生产安全,通常需要进行数据加密,例如通过网络层面上将应用隔离成内网和公网应用,内网再分成生产、测试、开发、DMZ等区域,然后进行不同…

    Linux 2023年6月6日
    0110
  • linux神器sed快速入门,不好用你打我!

    为什么要学习sed sed(Stream EDitor)被誉为Linux三剑客之一,负责过滤和转换文本,功能灵活又强大,搭配正则表达式更是如虎添翼。 如果你需要向1000行文本中的…

    Linux 2023年6月7日
    0108
  • 冯·诺依曼体系结构

    cpu运算速度>寄存器速度>L1~L3Cache>内存>外设(磁盘)>光盘 外设(输入设备、输出设备)不和cpu直接数据交换 cpu直接和内存数据交换…

    Linux 2023年6月13日
    0117
  • docker安装xxl-job-admin

    拉取镜像 docker pull xuxueli/xxl-job-admin:2.3.1 运行容器 docker run -d -e PARAMS=”–sp…

    Linux 2023年6月7日
    0114
  • Golang中字符串、数组、切片排序

    使用Golang的sort包用来排序,包括二分查找等操作。下面通过实例代码来分享下sort包的使用技巧: 使用接口排序: sort.Sort(data Interface) 自定义…

    Linux 2023年6月6日
    0125
  • k4t系统架构 & 部署最佳实践

    《kaiiit船长》 容器自动管理软件 (k4t,国产k8s) k4t系统架构 & 部署最佳实践 文档修订时间: 2021-11-20 关键词 : k4t kaiiit 船…

    Linux 2023年6月13日
    0129
  • PHP array_values()

    array_values array_values() 函数返回一个包含给定数组中所有键值的数组,但不保留键名。 示例: function arrayValues() { $dat…

    Linux 2023年6月7日
    0123
  • 【docker】python: can’t open file ‘helloworld.py’: [Errno 13] Permission denied

    运行容器提示权限问题 docker run -v $PWD/myapp:/usr/src/myapp -w /usr/src/myapp python:3.5 python hel…

    Linux 2023年6月7日
    0132
  • go-select 机制

    select 的用法与 switch 语言非常类似,由 select 开始一个新的选择块,每个选择条件由 case 语句来描述。 与 switch 语句相比,select 有比较多…

    Linux 2023年6月13日
    0111
  • [转帖]shell学习之shell执行方式及排错

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年5月28日
    0109
  • Python 多线程

    import threading import time def userTest(aa,bb): print(aa) time.sleep(3) print(bb) if __n…

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