nginx+rsync+inotify实现负载均衡配置方法

时间:2021-05-19

实验环境

前端nginx:ip 192.168.6.242,对后端的wordpress网站做反向代理实现复杂均衡
后端nginx:ip 192.168.6.36,192.168.6.205都部署wordpress,并使用相同的数据库

1、在后端的两个wordpress上配置rsync+inotify,两服务器都开启rsync服务,并且通过inotify分别向对方同步数据
下面配置192.168.6.205这台服务器
vim /etc/rsyncd.conf
uid = nginx
gid = nginx
port = 873
host all = 192.168.6.36 #另外一台wordpress使用192.168.6.205
use chroot = on
max connections = 4
timeout = yes
[wordpress]
path = /usr/local/nginx/html/wordpress
comment = rsync files
ignore errors
read only = no
list = yes
auth users = rsync
secrets file =/etc/rsync_server.passwd #指定帐号密码,用于提供另外一个节点访问自身的帐号

vim /etc/rsync_server.passwd
rsync:rsync

vim /etc/rsync_client.passwd
rsync #用于访问另外一个wordpress使用的密码文件

配置inotify同步脚本
#!/bin/bash
host=192.168.6.36 #另外一个wordpress
src=/usr/local/nginx/html/wordpress/
dst=wordpress
user=rsync
inotifywait=/usr/local/inotify/bin/inotifywait
rsync=/usr/bin/rsync
$inotifywait -mrq –timefmt '%d/%m/%y %H:%M' –format '%T %w%f' -e modify,delete,create,attrib $src | while read files
do
$rsync -vzrtopg –delete –progress –password-file=/etc/rsync_client.passwd $src $user@$host::$dst
echo "${files} was rsynced" >>/tmp/rsync.log 2>&1
done

2、配置前端nginx实现反向代理
vim /usr/local/nginx/conf/nginx.conf
#在http段中加入
include vhost/wordpress.conf;

mkdir /usr/local/nginx/confi/vhost
vim/usr/local/nginx/confi/vhost/wordpress.conf
upstream wordpress {
server 192.168.6.205 weight=1;
server 192.168.6.36 weight=1;
}

server {
location / {
proxy_pass http://wordpress;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}

3、修改wordpress中的设置,必须将这个了的站点地址改为前端nginx的ip地址或者域名

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章