nginx集群同步方案

之前公司同事写过rsync加触发nginx reload脚本,适合nginx配置内容完全一致的情况。

今天写一个同步指定文件的脚本,修改完主服务器。使用scp传输到其他nginx服务器上重启NGINX的脚本。

 

#!/bin/bash
file=$1

if [ -z "$file" ];then
    echo "请使用$0 文件名方式,例如: $? el.conf"
    exit 1
fi


function trans(){
    server=("10.0.2.5" "10.0.2.6" "10.0.2.7")
    cd /etc/nginx/
    for s in ${server[@]}
    do
        if [ $file == "nginx.conf" ];then
            scp $file root@${s}::/etc/nginx/
        else
            scp conf.d/$file root@${s}::/etc/nginx/conf.d/
        fi
        ssh root@${s} "nginx -t && nginx -s reload"
    done
}

nginx -t && nginx -s reload && trans

 

上一篇:Ubuntu安装过程


下一篇:vmware放在D盘占用C盘空间?