最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

haproxy+keepalived實現(xiàn)高可用負(fù)載均衡(實例配置)

 更新時間:2013年01月29日 11:17:34   作者:  
上一篇文章以理論介紹居多,這篇文章就以實際的應(yīng)用配置為主,需要的朋友可以參考下這兩篇文章

作者:split_two

環(huán)境四臺機(jī)器都是RedHat4.8(64位)版本:

IP地址             用處
192.168.5.55       MASTER
192.168.2.73       BACKUP
192.168.5.54       負(fù)載A
192.168.5.57       負(fù)載B
192.168.2.100      VIP

1、MASTER上安裝haproxy

復(fù)制代碼 代碼如下:

wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz /root

解壓到當(dāng)前目錄
tar zxvf haproxy-1.3.20.tar.gz
進(jìn)到此目錄
cd haproxy-1.3.20
編譯及安裝,安裝到/usr/local目錄,但是安裝完此目錄下沒有haproxy文件夾,我也很奇怪!
make TARGET=linux26 prefix=/usr/local/haproxy install
但是出來的結(jié)果會提示如下信息

install -d /usr/local/sbin
install haproxy /usr/local/sbin
install -d /usr/local/share/man/man1
install -m 644 doc/haproxy.1 /usr/local/share/man/man1
install -d /usr/local/doc/haproxy
for x in configuration architecture haproxy-en haproxy-fr; do \
        install -m 644 doc/$x.txt /usr/local/doc/haproxy ; \
done

提示你啟動haproxy在sbin目錄,其余的在doc目錄
進(jìn)入到haproxy目錄
cd /usr/local/doc/haproxy
新建一個haproxy主配置文件

復(fù)制代碼 代碼如下:

vi haproxy.cfg
global
   log 127.0.0.1 local0
   maxconn 4096
   chroot /usr/local/doc/haproxy
   uid 501
   gid 501
   daemon
   nbproc 1
   pidfile /usr/local/doc/haproxy/haproxy.pid
defaults
   log    127.0.0.1  local3
   mode   http
   option httplog
   option httpclose
   option dontlognull
   option forwardfor
   option redispatch
   retries 2
   maxconn 2000
   balance roundrobin
   stats   uri    /haproxy-status    查看狀態(tài)
   stats hide-version       隱藏haproxy版本
   stats realm Gemini\ Haproxy      查看狀態(tài)需要口令
   stats auth admin:admin           用戶名和密碼
   contimeout  5000
   clitimeout  50000
   srvtimeout  50000
listen web_proxy 192.168.2.100:80
   server web1 192.168.5.54:8080 cookie app1inst1 check inter 2000 rise 2 fall 5
   server web2 192.168.5.57:8080 cookie app1inst2 check inter 2000 rise 2 fall 5

2、MASTER安裝keepalived
tar zxvf keepalived-1.1.15.tar.gz
vi /usr/src/kernels/2.6.9-89.EL-smp-x86_64/include/linux/types.h
將如下兩行注釋掉,否則編譯會出錯,跟我這個版本的系統(tǒng)有關(guān)系,你的也許不要!

復(fù)制代碼 代碼如下:

/*
typedef __u16 __bitwise __sum16;
typedef __u32 __bitwise __wsum;
*/
cd keepalived-1.1.15
./configure
make
make install

將keepalived作為系統(tǒng)服務(wù)啟動

cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived/
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/sbin/keepalived /usr/sbin/
vi /etc/keepalived/keepalived.conf內(nèi)容如下:

復(fù)制代碼 代碼如下:

! Configuration File for keepalived
global_defs {
   router_id LVA_DEVEL
}
vrrp_script chk_http_port {
   script "/root/check_haproxy.sh"
   interval 2
   weight  2
}
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
track_script {
    chk_http_port
}
    virtual_ipaddress {
        192.168.2.100
    }
}

上面調(diào)用了一個腳本check_haproxy.sh,內(nèi)容如下:
復(fù)制代碼 代碼如下:

#!/bin/bash
A=`ps -C haproxy --no-header | wc -l`
if [ $A -eq 0 ];then
/usr/local/sbin/haproxy -f /usr/local/doc/haproxy/haproxy.cfg
echo "haproxy start"
sleep 3
if [ `ps -C haproxy --no-header | wc -l` -eq 0 ];then
/etc/init.d/keepalived stop
echo "keepalived stop"
fi
fi

3、BACKUP上安裝haproxy,步驟就不詳細(xì)介紹,和MASTER上面一樣的。
haproxy.conf內(nèi)容如下
復(fù)制代碼 代碼如下:

global
   log 127.0.0.1 local0
   maxconn 4096
   chroot /usr/local/doc/haproxy
   uid 501
   gid 501
   daemon
   nbproc 1
   pidfile /usr/local/doc/haproxy/haproxy.pid
defaults
   log    127.0.0.1  local3
   mode   http
   option httplog
   option httpclose
   option dontlognull
   option forwardfor
   option redispatch
   retries 2
   maxconn 2000
   balance roundrobin
   stats   uri    /haproxy-status
   stats hide-version
   stats realm Gemini\ Haproxy
   stats auth admin:admin
   contimeout  5000
   clitimeout  50000
   srvtimeout  50000
listen web_proxy 192.168.2.100:80
   server web1 192.168.5.54:8080 cookie app1inst1 check inter 2000 rise 2 fall 5
   server web2 192.168.5.57:8080 cookie app1inst2 check inter 2000 rise 2 fall 5

4、BACKUP上安裝keepalived,步驟也不多介紹,keepalived.conf文件內(nèi)容就兩處有變化,紅色字體標(biāo)出
復(fù)制代碼 代碼如下:

! Configuration File for keepalived
global_defs {
   router_id LVA_DEVEL
}
vrrp_script chk_http_port {
   script "/root/check_haproxy.sh"
   interval 2
   weight  2
}
vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
track_script {
    chk_http_port
}
    virtual_ipaddress {
        192.168.2.100
    }
}

調(diào)用腳本check_haproxy.sh內(nèi)容:
復(fù)制代碼 代碼如下:

#!/bin/bash
A=`ip a | grep 192.168.2.100 | wc -l`
B=`ps -ef | grep haproxy | grep -v grep | awk '{print $2}'`
if [ $A -gt 0 ];then
/usr/local/sbin/haproxy -f /usr/local/doc/haproxy/haproxy.cfg
else
kill -9 $B
fi

5、兩臺負(fù)載機(jī)器我就不多介紹了,用的是系統(tǒng)自帶的apache
登錄192.168.5.54上操作:
echo 'this is 192.168.5.54!' > /var/www/html/index.html
修改/etc/httpd/conf/httpd.conf文件的監(jiān)聽端口為8080
sed -i 's/Listen 80/Listen 8080/g' /etc/httpd/conf/httpd.conf
/etc/init.d/httpd start
登錄192.168.5.57上操作:
echo 'Hello,This is 192.168.5.57!' > /var/www/html/index.html
修改/etc/httpd/conf/httpd.conf文件的監(jiān)聽端口為8080
sed -i 's/Listen 80/Listen 8080/g' /etc/httpd/conf/httpd.conf
/etc/init.d/httpd start

6、測試步驟

啟動MASTER上的keepalived服務(wù),再啟動BACKUP上的keepalived服務(wù)。
確定MASTER上是否有192.168.2.100地址,用ip a查看即可!
然后手動殺掉MASTER上的haproxy進(jìn)程,看看是否能馬上恢復(fù)進(jìn)程?
停止MASTER上的keepalived服務(wù),確認(rèn)BACKUP是否接管VIP地址?
最后再啟動MASTER上的keepalived服務(wù),再確認(rèn)MASTER是否再接管VIP地址?
總結(jié):我這測試都沒問題,如果有問題請給我留言!

原文:http://blog.chinaunix.net/uid-23916356-id-3387261.html

相關(guān)文章

  • .htaccess rewrite 規(guī)則詳細(xì)說明

    .htaccess rewrite 規(guī)則詳細(xì)說明

    用Apache虛擬主機(jī)的朋友很多,apache提供的.htaccess模塊可以為每個虛擬主機(jī)設(shè)定rewrite規(guī)則,這對網(wǎng)站SEO優(yōu)化相當(dāng)有用,同時也改善了用戶體驗
    2016-04-04
  • 在 CentOS 8 上安裝Jenkins的方法

    在 CentOS 8 上安裝Jenkins的方法

    這篇文章主要介紹了在 CentOS 8 上安裝Jenkins的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • Ubuntu無法連接網(wǎng)絡(luò)的解決辦法

    Ubuntu無法連接網(wǎng)絡(luò)的解決辦法

    這篇文章主要為大家詳細(xì)介紹了虛擬機(jī)中Ubuntu無法連接網(wǎng)絡(luò)的有效解決辦法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Linux chage命令詳解

    Linux chage命令詳解

    chage命令用于密碼實效管理,該是用來修改帳號和密碼的有效期限,接下來通過本文給大家介紹Linux chage命令相關(guān)知識,本文介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • Linux 實現(xiàn)定時文件占用磁盤空間大小操作方法

    Linux 實現(xiàn)定時文件占用磁盤空間大小操作方法

    這篇文章主要介紹了Linux 實現(xiàn)定時文件占用磁盤空間大小操作方法,本文內(nèi)容簡短非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • Linux下部署springboot項目的方法步驟

    Linux下部署springboot項目的方法步驟

    這篇文章主要介紹了Linux下部署springboot項目的方法步驟,由于springboot是內(nèi)嵌了tomcat,所以可以直接將項目打包上傳至服務(wù)器上,具體實例方法大家參考下本文
    2018-06-06
  • xampp apache啟動失效問題的解決方法

    xampp apache啟動失效問題的解決方法

    在windows上使用xampp搭建php的開發(fā)環(huán)境,后來又安裝了oracle 10g。
    2009-10-10
  • 關(guān)于linux分區(qū),文件系統(tǒng),目錄結(jié)構(gòu)的概述

    關(guān)于linux分區(qū),文件系統(tǒng),目錄結(jié)構(gòu)的概述

    下面小編就為大家?guī)硪黄P(guān)于linux分區(qū),文件系統(tǒng),目錄結(jié)構(gòu)的概述。小編覺得挺不錯的?,F(xiàn)在就分享給大家。也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • linux內(nèi)核copy_{to, from}_user()的思考

    linux內(nèi)核copy_{to, from}_user()的思考

    本文即將介紹copy_{to,from}_user()接口的使用應(yīng),它是kernel space和user space溝通的橋梁,接下來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • Linux命令之mkdir 和 touch詳解

    Linux命令之mkdir 和 touch詳解

    這篇文章要講的是兩個命令,mkdir 和 touch 命令。前一個命令是操作目錄的,后一個命令是操作文件的,文中介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06

最新評論

汤原县| 罗平县| 吉安县| 三江| 石渠县| 阳新县| 绥化市| 云南省| 韶山市| 清水河县| 铜陵市| 蒙自县| 根河市| 卢氏县| 鹿泉市| 扎兰屯市| 获嘉县| 甘孜| 洛川县| 阿克陶县| 甘德县| 广西| 东莞市| 万年县| 滨海县| 栾川县| 济阳县| 陕西省| 万年县| 龙井市| 绿春县| 克什克腾旗| 威远县| 临沧市| 呈贡县| 秦皇岛市| 莱阳市| 沾化县| 敦煌市| 泾阳县| 噶尔县|