Nginx+keepalived高可用(雙主模式)
由於業務擴展,網站的訪問量不斷加大,負載越來越高。現需要在web前端放置nginx負載均衡,同時結合keepalived對前端nginx實現HA高可用。
介紹下Nginx和keepalive
1.Nginx
Nginx 是一個很強大的高性能Web和反向代理服務器,它具有很多非常優越的特性:
Nginx作為負載均衡服務器:Nginx 既可以在內部直接支持 Rails 和 PHP 程序對外進行服務,也可以支持作為 HTTP代理服務器對外進行服務。Nginx采用C進行編寫,不論是系統資源開銷還是CPU使用效率都比 Perlbal 要好很多。
Keepalived是Linux下面實現VRRP備份路由的高可靠性運行件。基於Keepalived設計的服務模式能夠真正做到主服務器和備份服務器故障時IP瞬間無縫交接。二者結合,可以構架出比較穩定的軟件LB方案。
Nginx+keepalive高可用方式有兩種:
1.Nginx+keepalived 主從配置
這種方案,使用一個vip地址,前端使用2臺機器,一臺做主,一臺做備,但同時只有一臺機器工作,另一臺備份機器在主機器不出現故障的時候,永遠處於浪費狀態,對於服務器不多的網站,該方案不經濟實惠。
2.Nginx+keepalived 雙主配置
這種方案,使用兩個vip地址,前端使用2臺機器,互為主備,同時有兩臺機器工作,當其中一臺機器出現故障,兩臺機器的請求轉移到一臺機器負擔,非常適合於當前架構環境。所以在這裏就詳細介紹下雙主模型配置
一、拓撲結構
二、測試環境介紹
系統centos7.4 64位
centos6.9 64位
前端node1服務器:DIP:192.168.92.136
VIP1:192.168.92.23
VIP2:192.168.92.24
前端node2服務器:DIP:192.168.92.133
VIP1:192.168.92.24
VIP2:192.168.92.23
後端服務器:web node3:192.168.92.123
web node4:192.168.92.124
web node5:192.168.92.125
三、軟件安裝
Nginx和keepalive的安裝非常簡單,我們可以直接使用yun來安裝。
後端服務器我們同樣用yum來裝上Nginx
後端node3
[root@node3 ~]# yum -y install nginx
[root@node3 ~]# echo "this is 192.168.92.123" > /usr/share/nginx/html/index.html
[root@node3 ~]# service nginx start
[root@node3 ~]# curl 192.168.92.123
this is 192.168.92.123
後端node4
[root@node4 ~]# yum -y install nginx
[root@node4 ~]# echo "this is 192.168.92.124" > /usr/share/nginx/html/index.html
[root@node4 ~]# service nginx start
[root@node4 ~]# curl 192.168.92.124
this is 192.168.92.124
後端node5
[root@node5 ~]# yum -y install nginx
[root@node5 ~]# echo "this is 192.168.92.125" > /usr/share/nginx/html/index.html
[root@node5 ~]# service nginx start
[root@node5 ~]# curl 192.168.92.125
this is 192.168.92.125
四、在node1、node2上配置Nginx
Nginx+keepalived高可用(雙主模式)