LVS + Keepalived + Nginx安装及配置
LVS + Keepalived + Nginx安裝及配置
LVS + Keepalived + Nginx安裝及配置
1、概述
上篇文章《架構(gòu)設(shè)計(jì):負(fù)載均衡層設(shè)計(jì)方案(6)——Nginx + Keepalived構(gòu)建高可用的負(fù)載層》我們講解了Nginx的故障切換 ,并且承諾各位讀者會(huì)盡快講解 LVS + Keepalived + Nginx的安裝和配置。在中間由于工作的原因,我又插寫(xiě)了三篇關(guān)于zookeeper的原理使用的文章。今天這邊文章我們回歸主題,為各位讀者講解 LVS + Keepalived + Nginx的安裝及配置。
2 、安裝計(jì)劃和準(zhǔn)備工作
下圖,我們表示了本篇文章要搭建的整個(gè)集成架構(gòu)的抽象結(jié)構(gòu):

我們采用兩個(gè)LVS節(jié)點(diǎn)(141和142),但是一個(gè)時(shí)間工作的只有一個(gè)LVS節(jié)點(diǎn) ,另一個(gè)始終處于熱備standby狀態(tài),由keepalived監(jiān)控這兩個(gè)節(jié)點(diǎn)的工作狀態(tài)并完成切換。
在LVS節(jié)點(diǎn)下,我們采用LVS-DR工作模式掛載了兩個(gè)Nginx節(jié)點(diǎn)(131 、132) 。并最終將外網(wǎng)請(qǐng)求交由這兩個(gè)節(jié)點(diǎn)進(jìn)行處理 。注意:在實(shí)際工作中 ,Nginx下面一般就是訪(fǎng)問(wèn)靜態(tài)資源、動(dòng)態(tài)資源的配置了。
2-1、準(zhǔn)備兩個(gè)keepalived節(jié)點(diǎn)
首先我們?cè)趯⒁惭bLVS的兩個(gè)節(jié)點(diǎn)上,先安裝keepalived ,并保證這兩個(gè)keepalived節(jié)點(diǎn)能夠正常工作(監(jiān)控批次的狀態(tài))。當(dāng)然,您也可以先準(zhǔn)備LVS,在準(zhǔn)備keepalived。
我想準(zhǔn)備keepalived節(jié)點(diǎn) ,大家應(yīng)該輕車(chē)熟路了吧 ,在《架構(gòu)設(shè)計(jì) :負(fù)載均衡層設(shè)計(jì)方案(6)——Nginx + Keepalived構(gòu)建高可用的負(fù)載層》這篇文章中詳細(xì)介紹了keepalived的最簡(jiǎn)配置方式 。為了大家閱讀方便,我們?cè)谶@里再進(jìn)行依次簡(jiǎn)要說(shuō)明。準(zhǔn)備keepalived的整個(gè)過(guò)程包括:
- 安裝必要的支撐組件,源碼安裝keepalived
- 將keepalived注冊(cè)成節(jié)點(diǎn)的服務(wù) ,以便保證keepalived在節(jié)點(diǎn)啟動(dòng)時(shí)就開(kāi)始工作
- 更改keepalived的配置文件,讓其可以正常工作
- 驗(yàn)證準(zhǔn)備工作
=============安裝keepalived
[root@lvs1 ~]# yum install -y zlib zlib-devel gcc gcc-c++ openssl openssl-devel openssh[root@lvs1 ~]# tar -zxvf keepalived-1.2.17.tar.gz[root@lvs1 ~]# cd keepalived-1.2.17[root@lvs1 ~]# ./configure --perfix=/usr/keepalived-1.2.17[root@lvs1 ~]# make & make install =============將keepalived注冊(cè)成服務(wù)(如果您使用的默認(rèn)路徑安裝 ,就不需要cp命令了)
[root@lvs1 ~]# cp /usr/keepalived-1.2.17/etc/sysconfig/keepalived /etc/sysconfig/keepalived [root@lvs1 ~]# cp /usr/keepalived-1.2.17/sbin/keepalived /usr/sbin/keepalived[root@lvs1 ~]# cp /usr/keepalived-1.2.17/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/keepalived[root@lvs1 ~]# mkdir /etc/keepalived[root@lvs1 ~]# cp /usr/keepalived-1.2.17/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf[root@lvs1 ~]# 可以做成服務(wù)了(不要拷貝,沒(méi)用的)[root@lvs1 ~]# chkconfig keepalived on這里我們先設(shè)置浮動(dòng)ip
設(shè)置VIP的信息
ifconfig eth0:0 192.168.220.140 broadcast 192.168.220.140 netmask 255.255.255.255 up
route add -host 192.168.220.140 dev eth0:0
做成服務(wù)后,先不要急著啟動(dòng),因?yàn)榕渲梦募€沒(méi)有改好。
========配置keepalived(配置文件在:/etc/keepalived/keepalived.conf)
! Configuration File for keepalivedglobal_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_DEVEL}vrrp_instance VI_1 { #141節(jié)點(diǎn)設(shè)置為MASTER
,142或者還有其他的節(jié)點(diǎn)設(shè)置為BACKUP #還記得我們前面文章講到的無(wú)搶占設(shè)置嗎?這里也可以用哦
。 state MASTER #網(wǎng)絡(luò)適配器名稱(chēng) interface eth0 virtual_router_id 51 #所有的SLAVE節(jié)點(diǎn)的優(yōu)先級(jí)都要比這個(gè)設(shè)置值低 priority 120 advert_int 1 #真實(shí)ip
,142要改成相應(yīng)的lvs節(jié)點(diǎn)真實(shí)ip mcast_src_ip=192.168.220.141 authentication { auth_type PASS auth_pass 1111 } #虛擬/浮動(dòng)IP virtual_ipaddress { 192.168.220.140 }}以上配置還是最簡(jiǎn)單的keepalived配置,因?yàn)槲覀冞€沒(méi)有加上配合LVS使用的虛擬ip監(jiān)測(cè)設(shè)置和下層真實(shí)ip監(jiān)測(cè)的設(shè)置