Keepalived实现高可用Nginx反向代理

由于好久没有接触过负载相关的调试了复习一下

实验系统:

(1)CentOS 6.5_x86_64;

(2)共有二台主机,本实验以ip地址来命名主机,即10主机、11主机。

实验前提:防火墙和selinux都关闭,主机之间时间同步

实验软件:nginx-1.10.2-1.el6.x86_64、keepalived-1.2.13-5.el6_6.x86_64、httpd-2.2.15-59.el6.centos.x86_64
为了方便实验只起了2台虚机方便测试,每台虚机上都安装nginx、keepalived、httpd,逻辑拓扑图如下

预留拓扑区

一、安装配置keepalived

1.直接使用yum安装:

yum -y install keepalived nginx  httpd      #如果nginx无法安装先安装epel源,或者编译安装

2.在34主机上配置keepalived:

vim /etc/keepalived/keepalived.conf
--------------------------------------------
global_defs {                      //此段配置忽略
  notification_email {
    [email protected]
  }
  notification_email_from [email protected]
  smtp_server 192.168.200.1
  smtp_connect_timeout 30
  router_id master
}

vrrp_instance VI_1 {
    state MASTER                  //定义为MASTER主机
    interface eth0
    virtual_router_id 55      //虚拟id
    priority 100          //优先级
    advert_int 1                    //检测间隔
    authentication {
        auth_type PASS          //认证方式
        auth_pass abcd          //认证密码
    }
    virtual_ipaddress {
        192.168.1.15 brd 192.168.1.255 dev eth0     
    }
#    notify_master "/etc/init.d/nginx start"    //成为MASTER之后执行的动作
#    notify_backup "/etc/init.d/nginx stop"      //成为BACKUP之后执行的动作
#    notify_fault "/etc/init.d/nginx stop"      //FAULT之后执行的动作
}

3.将配置文件传到11主机,修改红色部分:

4.两台主机启动keepalived服务,现在10这台主机为MASTER,所以服务都起在这台主机上:

service keepalived start

ip addr show

如果10停止keeplived后,观察11上的vip是否有启动。如果没启动请排查原因,多半是配置文件写错了。

另外有个问题需要注意,如果在master停掉后,backup是可以接过来的,但是master再启动,是接不回去的,只有停掉backup才可以回交给master。

5、配置nginx代理服务器

upstream webservers {
        server 192.168.1.10:8000;            ##apache-realserver地址

server 192.168.1.11:8000;            ##apache-realserver地址
}

server {
    listen       80 default_server;
    server_name  _;
    root         /usr/share/nginx/html;

# Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

location / {
        proxy_pass http://webservers;
        proxy_set_header X-Real-IP $remote_addr;
    }

}

这里标记了主要部分

6、配置Apache的realserver部分

为了方便测试默认配置基本不用动,主要修改Listen端口为8000

用于区分访问两台realserver的不同每个文件里的内容修改为:

7、最终测试

访问两次的结果分别访问了不同的realserver。测试成功(因为nginx上没有配置ip_hash)所以每次访问到了不同的realserver

时间: 2024-10-20 00:40:09

Keepalived实现高可用Nginx反向代理的相关文章

keepalived实现高可用nginx反向代理的简单案例

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. 案例拓扑图 安装keepalived和nginx 安装keepalived # yum -y install keepalived 创建nginx用户组及nginx用户 # groupadd -r nginx # useradd -g nginx -r nginx 编译安装nginx-1.4.7 # tar xf nginx-1.4.7.tar.gz  # cd nginx-1.4.7 # ./

Keepalived实现高可用Nginx反向代理和基于NAT的LVS及分析

1. 前言 keepalived是一个C语言开发的,能够基于Linux基础架构提供一个HA实现的软件.HA是基于VRRP协议实现,可以为LVS.Nginx.HAProxy等实现的LB提供高可用. 下图是keepalived的软件架构图 主要核心模块: Checkers:负责对Real Server进行健康检查. VRRP栈:实现了VRRP协议,实现了vrrp_sync_group扩展,不依赖于LVS可以独立的使用.例如下面第一个实验keepalived+nginx反代. IPVS Wrapper

用HAProxy和KeepAlived构建高可用的反向代理

用HAProxy和KeepAlived构建高可用的反向代理 前言对于访问量较大的网站来说,随着流量的增加单台服务器已经无法处理所有的请求,这时候需要多台服务器对大量的请求进行分流处理,即负载均衡.而如果实 现负载均衡,必须在网站的入口部署服务器(不只是一台)对这些请求进行分发,这台服务器即反向代理.由于反向代理服务器是网站的入口,其负载压力大且易遭 到攻击,存在单点故障的风险,所以我们需要一个高可用的方案来实现当一台反向代理服务器宕机的时候,另一台服务器会自动接管服务.基于以上要求,我们使用 H

keepalived的高可用nginx和lvs实现负责均衡

keepalived VRRP协议 VRRP(virtual route Redundancy Protocol),虚拟路由冗余协议.因为每个设备的都只有一个默认网关指向,一旦这个默认指向的网关处理问题.我们就需要重新设定默认网关的指向.VRRP就是解决这个问题出现,VRRP协议是将一组路由划分起来.在这组路由器中只设置一个虚拟IP和虚拟MAC地址,然后根据设定的规则在这组路由器中转移.每个路由器都有各自网卡和IP地址,同时在主路由上有VIP(飘移IP).在这组路由中,通过投票选举的方式选出主路

lvs + keepalived + nginx + tomcat高可用负载反向代理服务器配置(一) 简介

一. 为什么这样构架 1. 系统高可用性 2. 系统可扩展性 3. 负载均衡能力 LVS+keepalived能很好的实现以上的要求,LVS提供负载均衡,keepalived提供健康检查,故障转移,提高系统的可用性!采用这样的架构以后 很容易对现有系统进行扩展,只要在后端添加或者减少realserver,只要更改lvs的 配置文件,并能实现无缝配置变更!nginx提供反向代理,而tomcat则提供web服务. 二.LVS LVS是Linux Virtual Server的简写,意即Linux虚拟

利用keepalived实现高可用nginx

实验拓扑图(1)本次基于VMware Workstation搭建一个四台Linux(CentOS 7.4)系统所构成的一个服务器集群,其中两台nginx做前端调度服务器(一台为主机,另一台为备机),另外两台作为真实的Web服务器(向外部提供http服务,这里仅仅使用了CentOS默认自带的http服务,没有安装其他的类似Tomcat.Jexus服务). (2)本次实验设置了一个VIP(Virtual IP)为172.18.38.99,用户只需要访问这个IP地址即可获得网页服务.其中,nginx主

lvs + keepalived + nginx + tomcat高可用负载反向代理服务器配置(二) LVS

一.安装lvs sudo apt-get install ipvsadm 二.安装keepalived sudo apt-get install keepalived 三.创建keepalived.conf文件 sudo gedit /etc/keepalived/keepalived.conf 四.配置keepalived.conf # Global Configuration global_defs { lvs_id director1 } # VRRP Configuration vrrp

keepalived高可用+nginx证书代理

安装nginx yum -y install gcc pcre-devel openssl-devel        #安装依赖包 wget   http://nginx.org/download/nginx-1.12.2.tar.gz     (也可配置阿里源用yum安装) tar -xf nginx-1.12.2.tar.gz ./configure  \ --prefix=/usr/local/nginx \                #指定安装路径 --user=nginx \   

Nginx反向代理、负载均衡, keepalived高可用

Nginx反向代理.负载均衡,  keepalived高可用 Nginx反向代理.负载均衡,  keepalived高可用 一.Nginx反向代理.负载均衡 1.什么是反向代理.负载均衡 严格的说,Nginx仅仅是作为Nginx Proxv反向代理使用的,因为这个反向代理功能表现的效果是负载均衡集群的效果,所以本文称之为Nginx负载均衡.那么,反向代理和负载均衡有什么区别呢? 普通负载均衡软件,例如大名鼎鼎的LVS,其实现的功能只是对请求数据包的转发(也可能会改写数据包).传递,其中DR模式明