實現Rsync同步Nginx前端配置

近期,因爲咱們的阿里前端服務器頻頻受到惡意的流量攻擊,致使前端NGINX進入黑洞而沒法正常訪問公司網站。前端

 按以前的預計方法,採用加速樂及備用全配置前端的做法,將惡意短時流量攻擊的損失時間降到最短。現將C這臺機用做全配置的NGINX前端,A和B前端的任何NGINX配置都會經過RSYNC同步到C這臺機器上。nginx

 

部署的思路以下:服務器

規範A和B的nginx配置目錄(用include conf.d/*來實現),在這兩個服務器上配置一個rsync的服務端進程,而後,在C上每兩分鐘運行rsync同步進程,及時的將A和B上的NGINX反映到C上面。達到全配置實時生效的效果。測試

 

配置以下:網站

 

一,A上的配置(B上相同配置)ui

         1,安裝rsync(阿里雲默認已有此程序)阿里雲

              

         2,生成文件rsyncd.conf,內容以下:spa

      

#secrets file = /etc/rsyncd.secrets

#motd file = /etc/rsyncd.motd

read>list = yes

uid = XXX

gid = XXX

use chroot = no

max connections = 5

log file = /var/log/rsyncd.log

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

# Remote sync configuration module

[hosts_sync]

comment = nginx conf rsync

path = /XXX/nginx/conf/conf.d/

read only = yes

#auth users = rsync

 

         3,啓動rsync進程,將之加入自動啓動日誌

                 a, /usr/bin/rsync --daemoncode

                   b,在/etc/rc.local裏寫入:/usr/bin/rsync –daemon (也能夠其它方式實現)

二,161上配置:

         1,crontab定時同步腳本:

*/2     *       *       *       *        /usr/bin/rsync -arv X.X.X.X::hosts_sync/ /XXX/nginx/conf/conf.d/ >> /var/log/rsyncd.log 2>&1

*/2     *       *       *       *        /usr/bin/rsync -arv X.X.X.X::hosts_sync/ XXX/nginx/conf/conf.d/ >> /var/log/rsyncd.log 2>&1

         2,Crontab定時reload腳本(必要時可手工)

           10      */2     *       *       *       service nginx reload

三,測試

    1,  查看NGINX目錄,相關文件已生成

    2,  日誌生成以下:

相關文章
相關標籤/搜索