文档章节

Haproxy+Keepalived

eddy_linux
 eddy_linux
发布于 2015/11/05 02:59
字数 483
阅读 19
收藏 0

网络拓扑图
图片

解压软件包
tar -xzvf haproxy-1.4.11.tar.gz
 

 查看系统信息

uname -a

 cd haproxy-1.4.11

make TARGET=linux26 ARCH=x86_64

make install
 

mkdir /etc/haproxy

cp examples/haproxy.cfg /etc/haproxy/

cp examples/haproxy.init /etc/init.d/haproxy

chmod +x /etc/init.d/haproxy

ln -s /usr/local/sbin/haproxy /usr/sbin/

 以上就安装步凑

下面修改配置文件 

vim haproxy.cf

# this config needs haproxy-1.1.28 or haproxy-1.2.1

 

global

        log 127.0.0.1   local0

        log 127.0.0.1   local1 notice

        #log loghost    local0 info

        maxconn 4096

        chroot /usr/share/haproxy

        uid 500注意这里表示运行的用户id和组id

        gid 500

        daemon

        #debug

        #quiet

 以上是全局配置

defaults

        log     global

        mode    http

        option  httplog

        option  dontlognull

        option  redispatch

        option  abortonclose

        retries 2

        option redispatch

        maxconn 2000

        contimeout      5000

        clitimeout      50000

        srvtimeout      50000

        timeout check 5s

        stats refresh 30s

        stats uri /stats状态查看的根目录

        stats realm yys-test-Haproxy

        stats auth admin:admin这里就是haproxy状态网页用户名和密码

listen  appli1-rewrite 0.0.0.0:80

        cookie  SERVERID rewrite

        balance roundrobin采用轮询方式

        server  app1_1 192.168.1.200:80 cookie app1inst1 check inter 2000 rise 2 fall 5 设置后端

        server  app1_2 192.168.1.201:80 cookie app1inst2 check inter 2000 rise 2 fall 5设置后端


下面配置keepalived 

vim keepalived.conf

vrrp_script chk_http_port {

        script "/opt/check_haproxy.sh"

        interval 2

        weight 2

}

vrrp_instance VI_1 {

        state MASTER            # master

        interface eth0

        virtual_router_id 50    # unique, but master and backup is same

        priority 150

        advert_int 1

        authentication {

                auth_type PASS

                auth_pass uplooking

        }

track_script {

        chk_http_port

        }

    virtual_ipaddress {

        192.168.1.250  # vip

        }

}

检测脚本,为了防止haproxy服务关闭导致keepalived不自动切换

Vim /opt/check_haproxy.sh

#!/bin/bash

if [ $(ps -C haproxy --no-header | wc -l) -eq 0 ]; then

     /etc/init.d/haproxy  start

fi

sleep 2

if [ $(ps -C haproxy --no-header | wc -l) -eq 0 ]; then

       /etc/init.d/keepalived stop

Fi

Ma1和ma2都是这样配置

现在启动ha1和ha2的web服务

访问网页

 

测试:关闭任意一台keepalived

关闭前

 

关闭ma1的keepalived的

访问网页

不会影响访问 

 

现在关闭任意一台web服务

 

现在就只会访问到ha2的网页

查看haproxy状态页面

访问任意一个haproxy的地址

192.168.1.203/stats

这里就看到haproxy的一些信息

当我恢复ha1的httpd的时候

可以看到恢复的状态和信息


© 著作权归作者所有

共有 人打赏支持
eddy_linux
粉丝 18
博文 135
码字总数 188789
作品 0
成都
程序员
redis 3.x之后再部署群集服务的时候还有必要考虑codis么?

直接用redis cluster & sentinel,前面增加haproxy+keepalived,能取代codis?

mia0x75
2015/10/15
2.2K
4
Java大型彩票交易系统实现高可用负载均衡有哪些方案?

方案一、haproxy+keepalived实现高可用负载均衡 方案二、NginX+keepalived实现高可用的负载均衡哪个方案好呢?还有其它方案吗?

liu13430
2015/08/06
366
5
linux系统下对网站实施负载均衡+高可用集群需要考虑的几点

随着linux系统的成熟和广泛普及,linux运维技术越来越受到企业的关注和追捧。在一些中小企业,尤其是牵涉到电子商务和电子广告类的网站,通常会要求作负载均衡和高可用的Linux集群方案。 那么...

吞吞吐吐的
2017/12/14
0
0
Haproxy+Keepalived高可用环境部署梳理(主主和主从模式)

Haproxy+Keepalived高可用环境部署梳理(主主和主从模式) 1)在四层(tcp)实现负载均衡的软件:lvs------>重量级nginx------>轻量级,带缓存功能,正则表达式较灵活haproxy------>模拟四层...

dengaosky
06/15
0
0
haproxy & LVS & ng的比较

现在网站发展的趋势对网络负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术:   一种是通过硬件来进行进行,常见的硬件有比较昂贵的NetScaler、F5、Radware和Array等商用...

丰圣谋
2013/08/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Linux环境搭建 | VMware下共享文件夹的实现

在进行程序开发的过程中,我们经常要在主机与虚拟机之间传递文件,比如说,源代码位于虚拟机,而在主机下阅读或修改源代码,这里就需要使用到 「共享文件」 这个机制了。本文介绍了两种共享文...

良许Linux
今天
4
0
JUC锁框架——AQS源码分析

JUC锁介绍 Java的并发框架JUC(java.util.concurrent)中锁是最重要的一个工具。因为锁,才能实现正确的并发访问。而AbstractQueuedSynchronizer(AQS)是一个用来构建锁和同步器的框架,使用A...

长头发-dawn
今天
1
0
docker中安装了RabbitMQ后无法访问其Web管理页面

在官网找了"$ docker run -d --hostname my-rabbit --name some-rabbit -p 8080:15672 rabbitmq:3-management"这条安装命令,在docker上安装了RabbitMQ,,结果输入http://localhost:8080并不......

钟然千落
今天
4
1
spring-cloud | 分布式session共享

写在前面的话 各位小伙伴,你们有福了,这一节不仅教大家怎么实现分布式session的问题,还用kotlin开发,喜欢kotlin的小伙伴是不是很开心! 以前在写Android的时候,就对客户端请求有一定的认...

冯文议
今天
3
0
c语言之内存分配笔记

先看一个数组: short array[5] = {1,2} // 这儿定义的一个int类型的数组,数组第1和第2个元素值是1和2.其余后面默认会给值为0; 或者 short array[] = {1,2};//这儿数组第1和第2个元素,数组...

DannyCoder
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部