美文网首页
shell动态修改nginx的中cookie版本号

shell动态修改nginx的中cookie版本号

作者: anyly | 来源:发表于2019-09-26 21:03 被阅读0次

    1.背景:

    cookie中有一个js的版本号,是通过nginx配置的,后续所有的js请求都会带上这个版本号
    例如: 127.0.0.1/project/static/js/main.js?gillion-res-version=123456789
    我们部署前端后想自动把版本号+1,每次修改nginx配置麻烦,如果是多台机器更复杂
    所以弄成自动化部署

    #!/bin/bash
    function startnginx (){
            /usr/sbin/nginx -c $ngfile
            if [[ $? = '0' ]];then
                    echo "nginx启动成功!"
            else
                    echo "nginx启动失败!"
            fi
    }
    ngfile="/etc/nginx/nginx.conf"
    parame=`cat $ngfile |grep 'add_header Set-Cookie "js-version' | awk -F"=" '{print $2}' | awk -F";" '{print $1}' | xargs -I {} echo {}`
    update=$(($parame+1))
    echo "修改前的版本号:$parame"
    sleep 1
    sed -ie "s/$parame/$update/g" $ngfile
    afterVersion=`cat $ngfile |grep 'add_header Set-Cookie "js-version' | awk -F"=" '{print $2}' | awk -F";" '{print $1}'`
    echo "修改后的版本号:$afterVersion"
    if [ $parame != $afterVersion ];then
        echo "停止启用的nginx"
        pids=`ps -C nginx -o pid | awk '{if (NR>1){print $1}}'`
        if  [ ! -n "$pids" ] ;then
            echo "未启动nginx,马上启动!"
            startnginx
                    exit 1
        else
            for  pid  in  $pids
                do
                         kill -9 $pid
                done
            startnginx
        fi
    else
        echo "版本号修改失败!"
    fi
    

    相关文章

      网友评论

          本文标题:shell动态修改nginx的中cookie版本号

          本文链接:https://www.haomeiwen.com/subject/miqmuctx.html