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

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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容