实现Rsync同步Nginx前端配置

近期,由于我们的阿里前端服务器频频受到恶意的流量攻击,导致前端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,  日志生成如下:

时间: 2024-09-16 22:38:12

实现Rsync同步Nginx前端配置的相关文章

inotify-tools+rsync实时同步文件的配置方法_Linux

服务器A:论坛的主服务器,运行DZ X2论坛程序;服务器B:论坛从服务器,需要把X2的图片附件和MySQL数据实时从A主服务器实时同步到B服务器.MySQL同步设置会在下一编中说到.以下是用于实时同步两台服务器的图片. 因为一般的RSYNC需要CRON来定期运行SH脚本来实现同步,这样会带来一些问题.比如用户从主服务器上传上一个图片,需要最少一分钟才能从从服务器显示出来.自从Linux 2.6内核后,支持了inotify机制,当某些文件或文件夹有改变时,发出相应的事件,这样,第三方程序只要订阅这

linux中用rsync同步备份文件配置方法

linux rsync同步设置 rsync是一款数据镜像备份工具,可以保持两个服务器间数据同步,用得最多的场景就是备份数据了. 安装方法如下: 安装 在UBUNTU下安装RSYNC通过以下步骤可以实现:  代码如下 复制代码 $ sudo apt-get install rsync xinetd 配置 1. 编辑/etc/default/rsync 启动rsync作为使用xinetd的守护进程  代码如下 复制代码 $ sudo vim /etc/default/rsync   RSYNC_EN

rsync实现linux文件同步到windows配置详解

说明: 本篇文章实现linux定时将www,msyql,svn目录rsync到win2003指定目录上. win2003安装CWRsync,做为rsync的server端,运行CWRsync守护进程daemon,接受linux同步过来的文件: linux为centos,本身就有rsync,按时rsync文件到win上. 环境: win2003 192.168.1.2 CWRsync rsyncd服务端,以daemon守护进程运行 linux 192.168.1.3 rsync客户端 实现: 1.

nginx tomcat 配置集群负载

开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供web服务和socket等接口服务.之初,曾有个小小的疑问为何不采用开源的apache.Nginx软件负载,F5设备动辄几十万,价格昂贵?自己一个比较幼稚的问题,后续明白:F5是操作于IOS网络模型的传输层,Nginx.apache是基于http反向代理方式,位于ISO模型的第七层应用层.直白些就是TCP UDP 和http协议的区别,Nginx不能为基于TCP协议的应用提

线上服务 静态html CMS 发布rsync 同步

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/51279582 未经博主允许不得转载. 博主地址是:http://blog.csdn.net/freewebsys 1,静态资源 线上服务,有静态的html 比如首页,资讯页面,关于公司,加入我们,帮助页面. 都是静态的html页面.后台写了一个CMS系统,使用velocity 配置模板,然后生成html页面.在同步到线上服务器上面. 主要使用的就是 rsync 同步. 2,首先

nginx技术(2)nginx的配置详解

nginx的配置 1,启动nginx [root@centos6 nginx-1.2.9]# /usr/sbin/nginx -c /etc/nginx/nginx.conf 启动nginx [root@centos6 nginx-1.2.9]# ps -ef|grep nginx 查看进程 root 5479 1 0 04:15 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf nginx 548

Centos 6.3下rsync+inotify的安装配置

什么是inotify? inotify是一种强大的,细粒度的,异步文件系统时间监控机制,它可以替代crond实现与rsync的触发式文件同步,从而监控文件系统中添加,删除,修改,移动等细粒事件,从LINUX 2.6.13起,就已加入了对inotify的支持,所以我们只需要安装一个第三方软件inotify-tools即可管理此服务. 之前利用的rsync+crond来触发实现同步的瓶颈在于,rsync在同步数据时,需要先扫描所有文件后进行比对,而后进行差异传输,如果文件数量级别很大而且变化会很快,

Linux中安装rsync同步工具步骤详解

 rsync是一款服务器与服务器这间的同步工具了,通常我们可以利用rsync来实时数据同步操作了,下面我一起来看看安装rsync同步软件的教程.   安装 rsync-3.1.0.tar.gz  #tar zxvf rsync-3.1.0.tar.gz #cd rsync-3.1.0 #./configure --prefix=/home/work/rsync #make  #make install rsync服务端的配置: 环境:192.168.11.11为生产机:192.168.11.12

Nginx安装配置PHP(FastCGI)环境的教程

这篇是Nginx安装配置PHP(FastCGI)环境的教程.Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用. 一.什么是 FastCGI FastCGI是一个可伸缩地.高速地在HTTP server和动态脚本语言间通信的接口.多数流行的HTTP server都支持FastCGI,包括Apache.Nginx和lighttpd等,同时,FastCGI也被许多脚本语言所支持,其中就有PHP. FastCGI是从CGI发展改进而来的.传统CG