1. 程式人生 > >Keepalived+Nginx實現負載均衡高可用

Keepalived+Nginx實現負載均衡高可用

技術 狀態 實現負載均衡 一定的 方式 mark 提供服務 priority usr

一、負載均衡高可用

Nginx作為負載均衡器,所有請求都到了Nginx,可見Nginx處於非常重點的位置,如果Nginx服務器宕機後端web服務將無法提供服務,影響嚴重。

為了避免負載均衡服務器的宕機故障,需要建立一個備份機。主備機上都運行高可用(High Availability)監控程序,通過傳送心跳信息來監控對方的運行狀況。當備份機不能在一定的時間內收到對方的正常心跳時,它就接管主服務器的服務IP並繼續提供負載均衡服務;當備份管理器又從主管理器收到“I am alive”這樣的信息時,它就釋放服務IP地址,這樣的主服務器就開始再次提供負載均衡服務。

二、使用keepalived+Nginx實現負載均衡高可用

1、提供兩個Nginx負載服務器

這裏方便演示,分別在本機上添加2個虛擬服務器,分別安裝Nginx

2、分別在兩臺服務器上安裝keepalived

Keepalived的安裝方式不外乎檢查配置、編譯、安裝那幾個命令,這裏就不再贅述,為方便管理,將相關配置文件進行移動,重啟keepalived服務

技術分享圖片

3、配置keepalived

安裝好keepalived後 ,進入/usr/local/keepalived/etc/keepalived,修改keepalived.conf文件

1)主機

技術分享圖片

2)備機

技術分享圖片

通過對兩臺服務器的keepalive進行配置,區分出主機和備機服務器,state MASTER 為主機,priority 優先級值大於備機,state BACKUP為備機。

配置好keepalived之後,分別啟動兩臺服務器上的nginx和keepalived進行測試。

4、測試

1)查看主機的nginx,發現keepalived的虛擬IP綁定在主服務器上nginx上,

技術分享圖片

而備份服務器卻提示not exsit

技術分享圖片

這就說明服務一啟動,keepalived的虛擬IP綁定在主服務器的eth0網卡上.另外將主服務器的nginx關閉後,再查看,發現keepalived的vip立刻綁定在了備服務器的eth0上,當主服務器恢復工作時,VIP又自動切換回來。這樣就實現了通過keepalived這個工具來監測多臺服務器的工作狀態,當主服務器宕機後,可智能切換到可用備機,從而避免了單點故障問題。

http://blog.csdn.net/daybreak1209/article/details/51556581

Keepalived+Nginx實現負載均衡高可用