码迷,mamicode.com
首页 > 其他好文 > 详细

haproxy+keepalived+nginx搭建

时间:2015-05-29 12:15:50      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:高可用   haproxy+keepalived   

版本:centos 5.11 64位 因公司服务器比较老,想要上线高可用,所以我虚拟机上测试也用这个版本

    haproxy-1.3.20 keepalived-1.2.7

192.168.6.128 haproxy主

192.168.6.129 haproxy备

192.168.6.130 192.168.6.131 nginx

192.168.6.132 vip


在128,129上haproxy安装:

1、        tar zxvf haproxy-1.3.20.tar.gz

        cd haproxy-1.3.20

        make TARGET=linux26 prefix=/usr/local/haproxy #执行uname -a 获取linux内核

        make install PREFIX=/usr/local/haproxy

2、        cd /usr/local/haproxy

        vim haproxy.cfg


global

    maxconn 51200

    chroot /usr/local/haproxy

    uid 99

    gid 99

    daemon

    #quiet  

    nbproc 1 #进程数  

    pidfile /usr/local/haproxy/logs/haproxy.pid


defaults

        mode http #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK  

        #retries 2 #两次连接失败就认为是服务器不可用,也可以通过后面设置  

        option redispatch #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器  

        option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接  

        timeout connect 5000ms #连接超时  

        timeout client 30000ms #客户端超时  

        timeout server 30000ms #服务器超时  

        #timeout check 2000 #=心跳检测超时  

        log 127.0.0.1 local0 err #[err warning info debug]  

        balance roundrobin                     #负载均衡算法  

#        option  httplog                        #日志类别,采用httplog  

#        option  httpclose   #每次请求完毕后主动关闭http通道,ha-proxy不支持keep-alive,只能模拟这种模式的实现  

#        option  dontlognull  

#        option  forwardfor  #如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip  

frontend HAPROXY

        bind *:80

        mode http

        option httplog

        default_backend www.web.com

#listen  localhost 192.168.6.128:80

#        mode http    

#        option httplog #采用http日志格式  

#        stats refresh 30s #统计页面自动刷新时间  

#        stats uri /stats #统计页面url  

#        stats realm Haproxy Manager #统计页面密码框上提示文本  

#        stats auth admin:admin #统计页面用户名和密码设置  

#        #stats hide-version #隐藏统计页面上HAProxy的版本信息

backend www.web.com

        balance source

        server web2 192.168.6.131:80 check inter 1500 rise 3 fall 3

        server web3 192.168.6.130:80 check inter 1500 rise 3 fall 3


3、mkdir logs #用于记录pid,配置文件中有,不建会报错


#128,129上keepalived安装:

             安装就是普通的源码安装过程

1、贴配置文件keepalived.conf


! Configuration File for keepalived


global_defs {

   notification_email {

   15068715180@139.com

}

   notification_email_from keepalived@web1.web1

   smtp_server 127.0.0.1

   smtp_connect_timeout 30

   router_id LVA_DEVEL

}


vrrp_script chk_haproxy {

   script "/etc/keepalived/check_haproxy.sh"

   interval 5

}


vrrp_instance VI_1 {

    state MASTER

    interface eth0

    mcast_src_ip 192.168.6.128

    virtual_router_id 51

    priority 100

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 10086

    }


    track_script {

        chk_haproxy

    }


    virtual_ipaddress {

        192.168.6.132

    }

}


2、check_haproxy.sh脚本


#!/bin/bash

A=`ps -C haproxy --no-header |wc -l`

if [ $A -eq 0 ];then

/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg

sleep 3

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

/etc/init.d/keepalived stop

fi

fi


脚本记得给权限


nginx的安装配置就不贴了!


下一篇:haproxy+keepalived+rabbitmq集群


本文出自 “9400142” 博客,请务必保留此出处http://9410142.blog.51cto.com/9400142/1656232

haproxy+keepalived+nginx搭建

标签:高可用   haproxy+keepalived   

原文地址:http://9410142.blog.51cto.com/9400142/1656232

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!