首页 > 文章列表 > nginx+rsync+inotify怎么配置实现负载均衡

nginx+rsync+inotify怎么配置实现负载均衡

iNotify nginx rsync
282 2023-05-16

nginx+rsync+inotify怎么配置实现负载均衡

实验环境

前端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地址或者域名