近期,因为咱们的阿里前端服务器频频受到恶意的流量攻击,致使前端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, 日志生成以下: