首页 > Web开发 > 详细

Rsync同步部署web服务端配置

时间:2019-05-23 16:01:39      阅读:143      评论:0      收藏:0      [点我收藏+]

Rsync同步部署web服务端配置

下面正式来配置Rsync服务器,模拟真实环境服务器数据同步。

那么我们要把开发给我们的网站放在rsync同步服务器上  然后由web1  web2同步

正式安装,官网下载rsync稳定版本,然后进行安装编译。

cd  /usr/src ;wget  http://rsync.samba.org/ftp/rsync/src/rsync-3.0.7.tar.gz  

tar  xzf  rsync-3.0.7.tar.gz  && cd rsync-3.0.7 && ./configure --

prefix=/usr/local/rsync  &&make &&make install

 

安装完毕,配置rsync配置文件,默认/etc/不存在rsyncd.conf配置文件,需要手动创建,配置内容为如下:cat  rsyncd.conf

#########[global] 全局配置

uid = nobody

gid = nobody

use chroot = no

max connections = 30

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsyncd.lock

log file = /var/log/rsyncd.log

transfer logging = yes

log format = %t %a %m %f %b

syslog facility = local3

timeout = 300

(我这里配置的是两个网站目录 要是还有就再加)

[www]

read only = yes

path = /data/www/www1

comment = www

auth users =test

secrets file = /etc/rsync.pas

hosts allow = 192.168.0.11,192.168.0.12(或者写192.168.1.0/24)

[web]

read only = yes

path = /data/www/www2

comment = web

auth users =test

secrets file = /etc/rsync.pas

hosts allow = 192.168.1.11,192.168.0.0/24

 

1,基于密钥同步

vi  /etc/rsync.pas      为宿主用户配置的密码(服务端):

test:test999

技术分享图片

 保存完毕,chmod 600 /etc/rsync.pas       设置权限为宿主用户读写

最后在客户端配置同步密钥和命令,如下设置即可同步。

vi  /etc/rsync.pas  输入服务器端配置的密码:

test999

保存完毕,chmod 600 /etc/rsync.pas        设置权限为宿主用户读写。

 保存即可开始同步:执行如下语句

rsync -avz test@192.168.1.116::www /var/www/html    --password-file=/etc/rsync.pas  

rsync -avz test@192.168.1.116::web  /var/www/html   --password-file=/etc/rsync.pas  

 

2,基于SSH同步

除了可以使用rsync密钥进行同步之外,还有一个比较简单的同步方法就是基于linux ssh来同步。具体方法如下:

rsync  -avz  root@192.168.1.116:/data/webapps/www/www1/*  /var/www/html

,如果想每次同步不输入密码,需要做Linux主机之间免密码登录(公司常用的是这种方式)。

 

Rsync实时同步配置

在企业日常web应用中,某些特殊的数据需要要求保持跟服务器端实时同步,那我们该如何来配置呢?如何来实现呢?这里可以采用rsync+inotify来实现需求。

Inotify 是一个 Linux特性,它监控文件系统操作,比如读取、写入和创建。Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多。

Rsync安装完毕后,需要安装inotify文件检查软件。同时为了同步的时候不需要输入密码,这样可以使用ssh免密钥方式进行同步。

安装inotify-tools-3.14.tar.gz 软件,tar –xzf  inotify-tools-3.14.tar.gz ;./configure  ;make

;make install 即可。配置auto_inotify.sh同步脚本,内容如下:

#!/bin/sh  

src=/data/webapps/www/www1

des=/var/www/html

ip=192.168.1.11

inotifywait -mrq --timefmt ‘%d/%m/%y-%H:%M‘ --format ‘%T %w%f‘ -e modify,delete,create,attrib ${src} | while read file  

do

 for  i  in  $ip  

      do  

      /usr/local/rsync/bin/rsync   -avz  $src root@$i:$des    

      done  

done

 

在服务器端后台启动该脚本,nohup  sh  auto_inotify.sh  & ,在服务器端目录新建或者删除,客户端都会实时进行相关操作。     

 

screen  参看后台运行任务命令

Yum –y install screen

Screen –ls                       参看后台运行任务  

screen –r +后台运行的进程号       进入后台   Ctrl+a+d 是退出

 

  

下面是不用ssh的rsync同步  其实步骤很简单 (从这里看出rsync不需要创建用户秘钥也可以同步)

假如192.168.1.1向192.168.1.2 同步文件

  1. 1.1上要是没有rsync命令 就安装一个
  2. 1.2上安装rsync服务并配置启动
  3. 配置 vim /etc/rsyncd.conf

写入一个配置文件

[ehallService_web1]

comment = ehallService web Rsync

path = /app/nginx/html/ (同步的路径)

read only = false

uid = sinova (这个要看1.2同步目录的所属用户

gid = app (这个要看1.2同步目录的所属组

  1. 启动rsync   

/usr/bin/rsync --daemon   --config=/etc/rsyncd.conf (不是root用户启动要配置sudo权限)

  1. 1.1上可以执行同步命令了

rsync -avz /app/weblogic/wwww/ sinova@192.168.1.2:: ehallService_web1

rsync –avz sinova@192.168.1.2::ehallService_web1 /app/weblogic/wwww/

 

 

 

Rsync同步部署web服务端配置

原文:https://www.cnblogs.com/zhangan/p/10912376.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!