关于Nginx负载均衡目录同步问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Nginx负载均衡目录同步问题相关的知识,希望对你有一定的参考价值。
参考技术A 近期外包接单,做了一个简单的系统,本以为如此简单一个Tomcat就足以满足,结果客户要求需要两台服务器负载均衡,之前负载均衡都是由专门的人负责,第一次自己实现nginx,走了不少弯路。由于项目组有附件上传的功能,没有专门的文件服务器,将附件都存放在了ROOT底下,负载均衡后发现经常找不到图片,明显是因为两台服务器资源不同步的问题造成的,于是开始研究服务器目录同步,使用Rsync+Sersync实现目录同步,具体步骤:
1:制定两台服务器中的一台为主服务器(安装软件rsync+sersync,但是不需要启动rsync),另一台为从服务器(安装软件rsync,需要启动rsync)
2:从服务器安装完rsync需要对/etc/rsyncd.conf 进行配置:
uid = root #拥有目录权限用户
gid = root #拥有目录权限的组
use chroot = no #内网使用可以不用配置
max connections = 200 #最大连接数
timeout = 300 #超时时间
pid file = /var/run/rsyncd.pid #启动进程写入此PID文件
lock file = /var/run/rsyncd.lock #lock文件来配合最大连接数参数
log file = /var/log/rsyncd.log #日志文件
ignore errors = yes #忽略I/O错误
read only = false #允许读写
list = false #不列出列表
hosts allow = 192.168.1.0/24 #允许网段
hosts deny = * #拒绝其他网段
auth users = users #认证用户
secrets file = /opt/app/rsyncd/auth.pass #密码文件
[web] #同步目录
path = /backup/web
设置 /opt/app/rsyncd/auth.pass文件格式为user:password
给 /opt/app/rsyncd/auth.pass添加600权限 chmod 600 /opt/app/rsyncd/auth.pass
启动rsync rsnyc --daemon
3:主服务器部署
主服务器安装完sersync后需要配置confxml.xml,在sersync的安装目录下
<sersync>
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
<rsync>
<commonParams params="-artuz"/>
<timeout start="false" time="100"/><!-- timeout=100 -->
<ssh start="false"/>
</rsync>
<failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/>
<!--default every 60mins execute once-->
<crontab start="false" schedule="600"><!--600mins-->
<crontabfilter start="false">
<exclude expression="*.php"></exclude>
<exclude expression="info/*"></exclude>
</crontabfilter>
</crontab>
<plugin start="false" name="command"/>
</sersync>
启动sersync :/opt/soft/sersync/sersync/sersync2 -d -r -o /opt/soft/sersync/sersync/confxml.xml
location ~ .*\.(gif|jpg|jpeg|png|flv|mp3)$ #静态
proxy_pass http://192.168.1.12:80/;
Linux下Nginx实现负载均衡
关于在本地虚拟机(VMware 14)下安装Linux同时安装Nginx,请参考Nginx学习系列之搭建环境
1、启动Nginx
在Nginx安装成功的前提下,启动Nginx
已root模式登陆(权限需要),接着找到Nginx的安装目录,启动Nginx,并且指定Nginx启动所需的配置文件,该文件也在Nginx的安装目录下.
2、查看Niginx是否开启
打开Linux中的火狐浏览器,输入127.0.0.1.
ok,Nginx启动成功!
3、新建Nginx配置文件
(1)、查看Nginx配置文件信息
因为nginx.conf配置文件里面包含一些nginx主要的配置信息,所以,如果配置错误,整个nginx服务器就会发生异常,所以尽量操作这个默认的配置文件.
(2)、添加新的配置文件,实现负载均衡
ok,新建成功!
(3)、编辑配置文件
i、进入root模式(权限问题,该文件是只读文件),修改配置文件.
ii、配置信息如下:
iii、保存并推出
先按esc键 输入:wq! 回车退出.
(4)、加载新的配置文件
(5)、查看负载均衡是否成功
浏览器输入127.0.0.1:8080 查看跳转情况,如果能跳到两个站点,说明负载均衡成功!
以上是关于关于Nginx负载均衡目录同步问题的主要内容,如果未能解决你的问题,请参考以下文章