• java项目服务部署,启停脚本


    1. 部署云服务

    将生成的.jar包部署到云服务器上

    先创建日志文件nohup.outtouch nohup.out

    • nohup:不挂断运行命令,当账户退出或终端关闭时,程序仍然运行,当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件

    启动服务:nohup java -jar xx.jar &

    关闭服务:

    • 输出端口号为xxxx的服务的PID:netstat -nt|grep xxxx

    • 关闭服务:kill -9 PID

    参考(Linux 运行与停止 SpringBoot 项目 jar 包

    2. 部署启停脚本

    停止服务脚本

    #! /bin/bash
    
    
    jar_name=$1
    
    pid=`ps -ef|grep ${jar_name} |grep -v grep |grep -v stopService |awk '{print $2}'`
    kill -9 ${pid}
    echo ${jar_name}服务已停止 
    

    grep -v xx:: 显示不包含匹配文本xxx的所有行

    awk

    基本格式: awk [选项] '脚本命令' 文件名

    awk `{print $2}`: 输出第二个字段
    

    需要注意的是,整个脚本命令是用单引号('')括起,而其中的执行命令部分需要用大括号{}括起来。

    awk 的主要特性之一是其处理文本文件中数据的能力,它会自动给一行中的每个数据元素分配一个变量。

    默认情况下,awk 会将如下变量分配给它在文本行中发现的数据字段:

    • $0 代表整个文本行;
    • $1 代表文本行中的第 1 个数据字段;
    • $2 代表文本行中的第 2 个数据字段;
    • $n 代表文本行中的第 n 个数据字段。

    前面说过,在 awk 中,默认的字段分隔符是任意的空白字符(例如空格或制表符)。 在文本行中,每个数据字段都是通过字段分隔符划分的。awk 在读取一行文本时,会用预定义的字段分隔符划分每个数据字段。

    所以在下面的例子中,awk 程序读取文本文件,只显示第 1 个数据字段的值:

    cat data2.txt
    One line of test text.
    Two lines of test text.
    Three lines of test text.
    awk '{print $1}' data2.txt
    One
    Two
    Three

    启动服务脚本

    
    #! /bin/bash
    
    jar_name=$1
    nohup java -jar $jar_name &
    
    
  • 相关阅读:
    文件修改的两种方式
    人工智能 01. 语音合成,语音识别,相似度,图灵机器人,智能对话
    flask --- 04 . 偏函数, 线程安全,栈堆,
    flask --- 03 .特殊装饰器, CBV , redis ,三方组件
    flask --- 02. 路由, 初始化配置,蓝图
    linux --- 10.常见命令
    flask --- 01 .初始
    linux --- 9. docker 容器 和 rabbitmq 队列
    linux --- 8. mysql数据库,redis 数据库
    linux --- 7. 路飞学城部署
  • 原文地址:https://www.cnblogs.com/muyefeiwu/p/15469007.html
Copyright © 2020-2023  润新知