真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

keepalived+Haproxy搭建高可用Web群集-創(chuàng)新互聯(lián)

Haproxy是目前比較流行的一種群集調(diào)度工具,同類群集調(diào)度工具有很多,如LVS和Nginx。相比較而言,LVS性能最好,但是搭建相對(duì)復(fù)雜,搭建LVS群集可以參考博文:搭建:LVS+Keepalived高可用Web服務(wù)群集環(huán)境;Nginx的upstream模塊支持群集功能,但是相對(duì)群集節(jié)點(diǎn)健康檢查功能不強(qiáng),性能沒(méi)有Haproxy好,更多的是應(yīng)用在企業(yè)內(nèi)網(wǎng)環(huán)境中。Nginx群集可以參考博文:centos 7部署Tomcat及其負(fù)載均衡配置詳解。

創(chuàng)新互聯(lián)是少有的網(wǎng)站建設(shè)、做網(wǎng)站、營(yíng)銷型企業(yè)網(wǎng)站、小程序定制開(kāi)發(fā)、手機(jī)APP,開(kāi)發(fā)、制作、設(shè)計(jì)、賣友情鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,2013年至今,堅(jiān)持透明化,價(jià)格低,無(wú)套路經(jīng)營(yíng)理念。讓網(wǎng)頁(yè)驚喜每一位訪客多年來(lái)深受用戶好評(píng)

上述幾個(gè)web群集調(diào)度器屬于軟件類型的,還有很多硬件群集調(diào)度器,硬件一般使用比較多的是F5,也有很多公司使用國(guó)產(chǎn)的一些產(chǎn)品,如梭子魚、綠盟等。硬件群集調(diào)度器有一些比較顯而易見(jiàn)的缺點(diǎn),如果說(shuō)出問(wèn)題了,還要需要廠家的技術(shù)支持,廠家維護(hù)時(shí)還需要我們的錯(cuò)誤日志,在出現(xiàn)問(wèn)題到問(wèn)題解決這段時(shí)間,可能一個(gè)月的時(shí)間都過(guò)去了。若是使用軟件型的群集調(diào)度器,那么只要我們運(yùn)維人員技術(shù)過(guò)硬,發(fā)現(xiàn)問(wèn)題到解決問(wèn)題,很快的。

關(guān)于Haproxy常用的調(diào)度算法、配置文件及參數(shù)優(yōu)化可以參考博文:centos 7 之haproxy的配置文件詳解及haproxy參數(shù)調(diào)優(yōu)

現(xiàn)在以下面的環(huán)境,進(jìn)行搭建一個(gè)keepalived的高可用web群集(關(guān)于高可用存儲(chǔ)服務(wù)器,這里就省略了,將在以后的文章寫出如何搭建高可用的存儲(chǔ)服務(wù)器),環(huán)境如下:

keepalived+Haproxy搭建高可用Web群集

一、準(zhǔn)備工作:

1、調(diào)通網(wǎng)絡(luò),防火墻放行相關(guān)流量(我這里直接將防火墻關(guān)閉了);

2、準(zhǔn)備系統(tǒng)映像,配置本地yum(自行配置)。

3、下載haproxy源碼包,可以從我提供的網(wǎng)盤鏈接下載使用:haproxy下載鏈接
提取碼:54iv 。

4、web網(wǎng)站使用apache、Nginx、Tomcat搭建都可,只要可以訪問(wèn)就行,這里自行搭建吧,我為了測(cè)試方便,直接使用系統(tǒng)映像自帶的httpd服務(wù),web網(wǎng)站搭建可以參考:基于Linux搭建Apache網(wǎng)站服務(wù)配置詳解;基于centos 7搭建Nginx網(wǎng)站服務(wù)器

5、我這里使用的全部是centos 7系統(tǒng),注意,該環(huán)境不是生產(chǎn)環(huán)境,若是在生產(chǎn)環(huán)境中,肯定還有后端存儲(chǔ)來(lái)存放網(wǎng)頁(yè)文件,web服務(wù)器讀取存儲(chǔ)服務(wù)器上的網(wǎng)頁(yè)返回給客戶端。這樣才可保證網(wǎng)頁(yè)內(nèi)容的一致性。

二、開(kāi)始搭建:

1、配置keepalived+haproxy主服務(wù)器:

[root@haproxy1 ~]# yum -y install keepalived pcre-devel bzip2-devel           
#掛載系統(tǒng)映像,安裝相關(guān)軟件包
[root@haproxy1 media]# tar zxf haproxy-1.5.19.tar.gz -C /usr/src/     #解包
[root@haproxy1 media]# cd /usr/src/haproxy-1.5.19/       #切換至源碼包目錄
[root@haproxy1 haproxy-1.5.19]# make TARGET=linux26 && make install      
#編譯安裝,TARGET配置項(xiàng)表示64位系統(tǒng)。haproxy無(wú)須./configure配置。
[root@haproxy1 haproxy-1.5.19]# mkdir /etc/haproxy             #創(chuàng)建配置文件目錄
[root@haproxy1 haproxy-1.5.19]# cp examples/haproxy.cfg /etc/haproxy/      
#將源碼包自帶的配置文件目錄復(fù)制過(guò)來(lái)。
[root@haproxy1 haproxy-1.5.19]# cd
[root@haproxy1 ~]# vim /etc/haproxy/haproxy.cfg         
#編輯主配置文件,根據(jù)當(dāng)前環(huán)境,將主配置文件修改如下:
# this config needs haproxy-1.1.28 or haproxy-1.2.1

global
        log /dev/log    local0 info
        log /dev/log    local0 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  webcluster 0.0.0.0:80    #webcluster為群集名稱,可自定義,修改后面的端口號(hào)。
        option  httpchk /index.html
        balance roundrobin        #表示采用輪詢算法。
        server  inst1 192.168.1.3:80 check inter 2000 fall 3             #web節(jié)點(diǎn)1
         server  inst2 192.168.1.4:80 check inter 2000 fall 3  #web節(jié)點(diǎn)2,注意相關(guān)端口號(hào)
#注意,在配置文件下,有很多l(xiāng)isten配置項(xiàng),找到和我們需要的差不多的listen項(xiàng)復(fù)制到
#defaults配置項(xiàng)下,然后將后面所有的配置項(xiàng)刪除,若不刪除,可能服務(wù)啟動(dòng)時(shí)會(huì)報(bào)錯(cuò)。
[root@haproxy1 ~]# cd /usr/src/haproxy-1.5.19/examples/           #切換至指定目錄
[root@haproxy1 examples]# cp haproxy.init /etc/init.d/haproxy    #復(fù)制服務(wù)控制腳本
[root@haproxy1 examples]# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
#創(chuàng)建軟連接
[root@haproxy1 examples]# chmod +x /etc/init.d/haproxy          #賦予文件執(zhí)行權(quán)限
[root@haproxy1 examples]# chkconfig --add /etc/init.d/haproxy       #添加為系統(tǒng)服務(wù)
[root@haproxy1 examples]# systemctl restart haproxy              #啟動(dòng)haproxy服務(wù)
[root@haproxy1 examples]# netstat -anpt | grep 80                #查看是否在監(jiān)聽(tīng)
#haproxy服務(wù)默認(rèn)監(jiān)聽(tīng)80端口
tcp        0      0 0.0.0.0:80    0.0.0.0:*      LISTEN  12640/haproxy   
[root@haproxy1 ~]# vim /etc/rsyslog.d/haproxy.conf              #配置haproxy日志,寫入下面內(nèi)容

if ($programname == 'haproxy' and $syslogseverity-text == 'info') then -/var/log/haproxy/haproxy-info.log
& ~ 
if ($programname == 'haproxy' and $syslogseverity-text == 'notice') then -/var/log/haproxy/haproxy-notice.log
& ~ 
#寫入后,保存退出即可。
[root@haproxy1 ~]# systemctl restart rsyslog                  #重啟日志服務(wù)
#以下部分開(kāi)始配置keepalived,haproxy已經(jīng)配置完成了。
#現(xiàn)在client可以訪問(wèn)該服務(wù)器IP地址,看看是否可以刷到兩個(gè)web服務(wù)器提供的網(wǎng)頁(yè)。
#需要多刷新幾次,web服務(wù)器準(zhǔn)備不一樣的網(wǎng)頁(yè)才可看到效果。
[root@haproxy1 ~]# vim /etc/keepalived/keepalived.conf    #編輯keepalived配置文件
#只改動(dòng)以下標(biāo)注的配置項(xiàng)即可
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL1             #定義服務(wù)器名稱,不可與其他服務(wù)器名稱沖突
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33            #修改承載漂移IP地址的物理網(wǎng)卡
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }   
    virtual_ipaddress {
    192.168.1.100              #指定漂移IP地址
    }
}   
#配置項(xiàng)至此保存退出就可以了,將后面的所有配置項(xiàng)刪除,以免影響服務(wù)啟動(dòng)。
[root@haproxy1 ~]# systemctl restart keepalived               #重啟keepalived服務(wù)。

2、配置keepalived+haproxy備份服務(wù)器:

[root@haproxy2 ~]# systemctl stop firewalld          #關(guān)閉防火墻
[root@haproxy2 ~]# yum -y install keepalived pcre-devel bzip2-devel
#掛載系統(tǒng)映像,安裝相關(guān)軟件包
[root@haproxy2 media]# tar zxf haproxy-1.5.19.tar.gz -C /usr/src            #解包
[root@haproxy2 media]# cd /usr/src/haproxy-1.5.19/
[root@haproxy2 haproxy-1.5.19]# make TARGET=linux26 && make install    #安裝
[root@haproxy2 haproxy-1.5.19]# cd
[root@haproxy2 ~]# mkdir /etc/haproxy            #創(chuàng)建配置文件目錄
[root@haproxy2 ~]# scp root@192.168.1.1:/etc/haproxy/haproxy.cfg /etc/haproxy/
#直接將主服務(wù)器的haproxy配置文件復(fù)制過(guò)來(lái)
root@192.168.1.1 s password:          #輸入主服務(wù)器的用戶密碼
haproxy.cfg                                 100%  566   460.5KB/s   00:00    
[root@haproxy2 ~]# scp root@192.168.1.1:/etc/init.d/haproxy /etc/init.d/haproxy
root@192.168.1.1s password: 
haproxy                                     100% 2553     2.1MB/s   00:00    
[root@haproxy2 ~]# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy        #創(chuàng)建鏈接文件
[root@haproxy2 ~]# chkconfig --add /etc/init.d/haproxy            #添加為系統(tǒng)服務(wù)
[root@haproxy2 ~]# systemctl start haproxy              #啟動(dòng)服務(wù)
[root@haproxy1 examples]# netstat -anpt | grep 80                #查看是否在監(jiān)聽(tīng)
#haproxy服務(wù)默認(rèn)監(jiān)聽(tīng)80端口
tcp        0      0 0.0.0.0:80    0.0.0.0:*      LISTEN  12640/haproxy   
[root@haproxy1 ~]# vim /etc/rsyslog.d/haproxy.conf              #配置haproxy日志,寫入下面內(nèi)容

if ($programname == 'haproxy' and $syslogseverity-text == 'info') then -/var/log/haproxy/haproxy-info.log
& ~ 
if ($programname == 'haproxy' and $syslogseverity-text == 'notice') then -/var/log/haproxy/haproxy-notice.log
& ~ 
#寫完保存退出即可。
[root@haproxy2 ~]# systemctl restart rsyslog                  #重啟日志服務(wù)
[root@haproxy2 ~]# scp root@192.168.1.1:/etc/keepalived/keepalived.conf /etc/keepalived/
#將主服務(wù)器的keepalived配置文件復(fù)制過(guò)來(lái)
root@192.168.1.1s password:                  #輸入主服務(wù)器的用戶密碼
keepalived.conf                             100%  630   622.3KB/s   00:00    
[root@haproxy2 ~]# vim /etc/keepalived/keepalived.conf 
#修改下面三個(gè)配置項(xiàng):
                     ................
router_id LVS_DEVEL2       #將服務(wù)器名稱改一下,別和主服務(wù)器沖突
                     ..............
state BACKUP            #將狀態(tài)改為BACKUP
                     ...............
priority 90            #修改一下優(yōu)先級(jí),要比主服務(wù)器優(yōu)先級(jí)低

#改完以上三行,保存退出即可。
[root@haproxy2 ~]# systemctl start keepalived           #啟動(dòng)keepalived服務(wù)

至此,keepalived+haproxy就配置完成了,可以使用client進(jìn)行訪問(wèn)測(cè)試,模擬主服務(wù)器宕機(jī)等問(wèn)題,測(cè)試高可用。

[root@haproxy1 ~]# tail -f /var/log/haproxy/haproxy-info.log        #查看haproxy訪問(wèn)日志

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


本文名稱:keepalived+Haproxy搭建高可用Web群集-創(chuàng)新互聯(lián)
瀏覽地址:http://weahome.cn/article/djdjoh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部