同步服务器的好处是可以集中管理文件,特别是需要经常修改的文件分散在各个服务器上,如果一个一个要找来修改,太费时间,这时候,sersync2这款软件就派上用场了。我们可以设置一台sersync2服务器(主同步服务器),然后设置多个同步目标服务器(被同步服务器),这样一来,所有的修改工作在sersync2服务器上进行,然后自动同步到其它目标服务器上。 在这里,我设置的同步服务器主要是用来集中管理网站文件,用一台服务器作为主服务器,同步其它的WEB服务器的各个网站目录(假设我的主服务器是S,IP地址为192.168.1.1,有两台网站服务器,分别是WEB1,WEB2,IP地址分别是192.168.1.2,192.168.1.3。WEB1下面的网站目录是/home/www/的网站目录是/home/www/,在主服务器S下面建立两个目录/home/www/{},用来同步WE1、WEB2的网站目录),这样,每次修改网站配置,只需要在S服务器的/home/www/目录下对各个网站目录修改,自动同步到网站服务器WE1,WE2上。
sersync的同步工作依赖于rsync,主同步服务器需要配置sersync,目标同步服务器只需要配置rsync。
在WEB1上配置rsync,很多linux系统都自带rsync(如果没有的话,可以安装RPM,或者源代码的)。这里所说的是centOS。
(1)配置rsync.conf文件:
如果是系统自带,rsync.conf配置文件一般是/etc目录下。vi /etc/rsync.conf
- uid=www #一般为网站目录的属主
- gid=www
- max connections=3600
- use chroot=no
- log file=/var/log/rsyncd.log #日志……
- pid file=/var/run/rsyncd.pid
- lock file=/var/run/rsyncd.lock
- [] #模块名,可设置多个
- path=/home/www/ #同步的目录
- comment = www web files
- ignore errors = yes
- read only = no
- hosts allow = 192.168.1.1 #主服务器S的地址
- hosts deny = *
(2)开启rsync守护进程
/usr/bin/rsync --daemon
WEB2配置类似,只改了同步路径。以下安装配置主服务器S的sersync(只作简单介绍,有需要的博友,可到网上找找详细的配置说明),sersync的同步,需要内核的inotify功能,所以内核必须支持inotify,ls /proc/sys/fs/,如果有inotify文件夹,则说明内核支持inotify。
(1)下载sersync2.5(其它版本差别应该不大),解压,我这里是解压到/root目录。
(2)修改同步配置文件,默认是confxml.xml,但也可以自己指定,这里指定.xml配置文件同步目录/home/www//。vi .xml(摘取主要配置):
- <sersync>
-
<localpath watch="/home/www//">
-
<remote ip="192.168.1.2" name=""/> #ip为目标服务器地址,name为刚才的rsync模块名
-
</localpath>
(3)开启sersync服务
/root/sersync/sersync2 -d -o /root/sersync/.xml
选项-d 表示开启serync并守护进程,-o表示指定配置文件。
设置同步WEB2的时候,照样可以加一个文件,配置好后,/root/sersync/sersync2 -d -o /root/sersync/
查看进程ps -aux,如果找到/root/sersync/sersync2 -d -o /root/sersync/.xml这样一条进程,说明同步成功,也可以在主服务器S的/home/www//下建立一个文件,看看是否同步到WEB1上。
按照上面的步骤,就可以实现两台服务器之间的文件内容实时同步。
阅读(1174) | 评论(0) | 转发(0) |