WEB开发网
开发学院服务器WEB服务器Nginx Ubuntu下Nginx做负载实现高性能WEB服务器4---RS... 阅读

Ubuntu下Nginx做负载实现高性能WEB服务器4---RSYNC实现网站同步

 2012-05-26 07:54:19 来源:WEB开发网   
核心提示:1.架构NGINX做前端HTTP转发用,后端采用2台APACHE2做WEB服务器,Ubuntu下Nginx做负载实现高性能WEB服务器4---RSYNC实现网站同步,需要保证2台WEB服务器网站内容是同步的,即无论NGINX将请求发送到哪一台WEB服务器,不过只要在命令中省略掉本地机信息即可,8.配置网站定时同步只需在

1.架构
NGINX做前端HTTP转发用,后端采用2台APACHE2做WEB服务器,需要保证2台WEB服务器网站内容是同步的,即无论NGINX将请求发送到哪一台WEB服务器,客户端打开的页面必须保持一致,此时就可以利用RSYNC来实现该功能。
2.安装
在UBUNTU下安装RSYNC通过以下步骤可以实现:
# apt-get install rsync xinetd
2.1. 编辑/etc/default/rsync 启动rsync作为使用xinetd的守护进程
# vim /etc/default/rsync RSYNC_ENABLE=inetd
2.2. 创建 /etc/xinetd.d/rsync 通过xinetd使rsync开始工作
# vim /etc/xinetd.d/rsync service rsync { disable = no socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID }
2.3. 创建 /etc/rsyncd.conf 配置rsync使其在.
# vim /etc/rsyncd.conf
#address = 192.168.1.9
#port = 873
#limit access to private LANs
max connections = 2
hosts allow = 192.168.1.0/255.255.255.0
hosts deny = *
log file = /var/log/rsync.log
pid file = /var/run/rsyncd.pid
transfer logging = yes
log format = %t %a %m %f %b
timeout = 300
[www]
comment = web rsync
path = /var/www/
read only = no
list = yes
uid = nobody
gid = nogroup
#uid = root
#gid = root
#ignore errors
auth users = root,longwind
secrets file = /etc/rsyncd.secrets
2.4. 创建 /etc/rsyncd.secrets 配置用户名和密码.
# vim /etc/rsyncd.secrets root:ubuntu2 # chmod 600 /etc/rsyncd.secrets
5. 启动/重启 xinetd
$ sudo /etc/init.d/xinetd restart
rsync -avzu --delete --progress /var/www/ [email protected]:/var/www #192.168.1.9服务端执行
rsync -avzu --progress --delete [email protected]:/var/www/ /var/www #192.168.1.10客户端执行
必须注意的是要同步的服务端必须以/结尾,否则就是备份而不是同步了。
参数如下
v详细提示
a以archive模式操作,复制目录、符号连接
z压缩
u只进行更新,防止本地新文件被重写,注意两者机器的时钟的同时
-progress指显示
可以创建一个文件作为客户端密码自动登录使用,
在客户端上/root创建rsync.ps
rsync.ps 只包含password即可。
chmod 600 rsync.ps
这样客户端运行rsync -avzu --progress --delete --password-file=/root/rsync.ps [email protected]::www /var/www
即可自动登录。
7.
rsync有六种不同的工作模式:
1. 拷贝本地文件;当SRC和DES路径信息都不包含有单个冒号”:”分隔符时就启动这种工作模式。
2.使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST
路径地址包含单个冒号”:”分隔符时启动该模式。
3.使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC
地址路径包含单个冒号”:”分隔符时启动该模式。
4. 从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含”::”分隔符时启动该模式。
5. 从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含”::”分隔符时启动该模式。
6. 列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。
8.配置网站定时同步
只需在客户端配置,
新建rsync.sh文件内容为
rsync -avzu --progress --delete --password-file=/root/rsync.ps [email protected]::www /var/www
赋予可执行权限
chmod 755 rsync.sh
添加定时执行 crontab –e
*/15 * * * * /root/rsync.sh > /var/log/web_rsync.log 2>&1 #每隔15分钟同步一次
保存完成。 

Tags:Ubuntu Nginx 负载

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接