2019年10月9日Haproxy + keepalivedのベースの高可用性負荷分散クラスタを構築

Haproxy + 114はnginxの上にインストール、仮想マシン111,112,113,114,111,112、113にインストールするために使用さkeepalivedの

1、113が最初nginxの上に取り付けられています

[ルート@ localhostの〜]#yumを-yのgcc gccは、C ++ PCRE-develのZLIB-develのインストールを行います

[ルート@ localhostの〜]#useraddの-M -s / sbinに/ nologinにnginxの
[ルート@ localhostの〜]#RZ
?zの受信を待機して。**?B0100000023be50
[ルート@ localhostの〜]#タールXFのnginxの-1.15.9。 tar.gz形式-Cは/ usr / src /
[ルート@ localhostの〜]#のCD /usr/src/nginx-1.15.9/
[ルート@ localhostののnginxの-1.15.9]#は./configure --prefix =は/ usr /ローカル/ nginxの--user = nginxの--group = nginxの&& && make installを作ります

[ルート@ localhostののnginxの-1.15.9]#のCDは/ usr / local / nginxの/ HTML /
[ルート@ localhostのhtmlの]#エコー"サーバー192.168.200.113"> index.htmlの
[ルート@ localhostのhtmlの]#は/ usr / local / nginxの/ sbinに/ nginxの
[ルート@ localhostのhtmlの]#netstatの-anpt |グレップのnginxの
TCP 0 0 0.0.0.0:80 0.0.0.0:*は7681をLISTEN / nginxのマスター

Nginx1ビルドとインストールNginx2は、同じ方法です。そしてNginx1唯一の違いは、次のとおりです。

index.htmlを>#エコー"サーバー192.168.200.114" [ルートHTML localhostの@]
2、同じ2台のマシンで構成Haproxy 111に搭載:

[ルート@ localhostの〜]#yumを-y gccはgccの-C ++ PCRE-のdevel-develのbzip2のを作るインストール

[ルート@ localhostの〜]#のRZ
?zが受け取るのを待っている。**?B0100000023be50
[ルート@ localhostの〜]#タールXFのhaproxy-1.4.24.tar.gz -Cは/ usr / src /
[ルート@ localhostの〜]# CDは/usr/src/haproxy-1.4.24/
#[ローカルホストhaproxy-1.4.24 @ルート]は、TARGET = linux26を作る&& make installを

Haproxyサーバ構成
ビルド構成ディレクトリとhaproxyのファイル

[ルート@ localhostのhaproxy-1.4.24]#のMKDIRの/ etc / haproxy
#のcp例/ haproxy.cfgの/ etc / haproxy / [ローカルホストhaproxy-1.4.24 @ルート]

 構成ファイルを変更Haproxy

[ルート@ localhostのhaproxy-1.4.24]#のVimの/etc/haproxy/haproxy.cfg

# 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 99
    gid 99
    daemon
    #debug
    #quiet
 
defaults
    log global
    mode    http
    option  httplog
    option  dontlognull
    retries 3
    #redispatch
    maxconn 2000
    contimeout  5000
    clitimeout  50000
    srvtimeout  50000
 
listen  web-cluster 0.0.0.0:80
    option httpchk GET /index.html
    balance roundrobin
    server  inst1 192.168.200.113:80 check inter 2000 fall 3
    server  inst2 192.168.200.114:80 check inter 2000 fall 3

カスタムの起動スクリプトを作成します。

[ルート@ localhostのhaproxy-1.4.24]#cpは/usr/src/haproxy-1.4.24/examples/haproxy.init /etc/init.d/haproxy
[ルート@ localhostのhaproxy-1.4.24]#LN -s / usr / local / sbinに/ haproxyは/ usr / sbinに/ haproxy
[ルート@ localhostのhaproxy-1.4.24]#のchmodの+ X /etc/init.d/haproxy
[ローカルホストhaproxy-1.4.24 @ルート]#は/ etc / init.dディレクトリ/ haproxy開始
[确定]:(systemctl経由)の開始haproxy

クライアントアクセスのテスト:

 

 

 

 

 

 

 

3、 keepalivedのサービスをコンパイルしてインストールします

[ルート@ localhostのhaproxy-1.4.24]#のCD
[ルート@ localhostの〜]#yumを-y keepalivedのインストール

設定はメインの設定ファイルをkeepalibed

[ルート@ localhostの〜]#のVimの/etc/keepalived/keepalived.conf 

! Configuration File for keepalived
 
vrrp_script chk_http_port {
script "/etc/keepalived/check_haproxy.sh"
interval 2
 
global_defs {
router_id LVS_DEVEL
}
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.200.254
}
}
}

 図4に示すように、両方のマシンhaproxy検出スクリプトに構成されています

[ルート@ localhostの〜]#のVimの/etc/keepalived/check_haproxy.sh

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

[ルート@ localhostの〜]#chmodの+ X /etc/keepalived/check_haproxy.sh
[ルート@ localhostの〜]#サービスkeepalivedの開始

テストVIPアドレス

[ルート@ localhostの〜]#IP A

[ルート@ localhostのは〜]#は、//停止keepalivedの停止/etc/init.d/keepalived

テストHaproxyのヘルスチェック

[ルート@ localhostの〜]#サービスhaproxy停止

[ルート@ localhostの〜]#サービスhaproxy状態

テスト用のWebページに移動します:

 

おすすめ

転載: www.cnblogs.com/990624lty-jhc/p/11644377.html