近期,因爲咱們的阿里前端服務器頻頻受到惡意的流量攻擊,致使前端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, 日誌生成以下: