近期,由于我们的阿里前端服务器频频受到恶意的流量攻击,导致前端NGINX进入黑洞而无法正常访问公司网站。
按之前的预计方法,采用加速乐及备用全配置前端的作法,将恶意短时流量攻击的损失时间降到最短。现将C这台机用作全配置的NGINX前端,A和B前端的任何NGINX配置都会通过RSYNC同步到C这台机器上。
部署的思路如下:
规范A和B的nginx配置目录(用include conf.d/*来实现),在这两个服务器上配置一个rsync的服务端进程,然后,在C上每两分钟运行rsync同步进程,及时的将A和B上的NGINX反映到C上面。达到全配置实时生效的效果。
配置如下:
一,A上的配置(B上相同配置)
1,安装rsync(阿里云默认已有此程序)
2,生成文件rsyncd.conf,内容如下:
#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 --daemon
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, 日志生成如下: