1. 程式人生 > >keepalive高可用nginx(nginx動靜分離)的實現

keepalive高可用nginx(nginx動靜分離)的實現

clust 修改配置 lin F12 ice ifconfig img 修改配置文件 51cto

HA Cluster的配置前提:

        1、各節點時間要同步;
        2、確保iptables及selinux不會成為障礙;
        3、(可選)各節點之間可通過主機名互相通信;
             節點的名稱設定與hosts文件中解析的主機名都要保持一致;
                # uname -n 獲得的主機,與解析的主機名要相同;
        4、(可選)各節點之間基於密鑰認證的方式通過ssh互信通信;

keepalive高可用nginx(nginx動靜分離)的實現

技術分享圖片

一、各節點時間同步的實現方法

  在centos中安裝chrony,其根據時間協議配置文件將多臺主機的時間進行同步。
    本處master作為chrony的服務器端,backup主機作為chrony的客戶端。
    1.在master中打開其配置文件/etc/chrony.conf,允許192.168.130.0/24網段的主機到該主機同步時間,同時該主機不去同步其他主機的時間。(見圖)

技術分享圖片

    2.在backup中打開其配置文件/etc/chrony.conf,修改配置文件令本主機到192.168.130.128,同步時間(見圖)

技術分享圖片

3.service chronyd start,啟動master和backup主機的chrony服務,同時確保關閉防火墻,需等幾十秒鐘同步時間(註意如兩臺主機的時區不同,需修改兩主機為同一時區)
4.用 watch -n 1 date 查看結果(見圖)

技術分享圖片

二、配置master和backup主機規則

1.修改keepalived配置文件前先復制一份,避免修改錯誤。進入配置文件夾cd /etc/keepalived/  ,復制文件cp keepalived.conf keepalived.conf.bak。
2.master配置如下(下面全註釋完)

技術分享圖片

3.backup配置如下(下面的全部註釋完)

技術分享圖片

4.service keeplived start 啟動keepalive服務,用ip a 查看ip地址是否配置成功(不要用ifconfig查看,該命令顯示不完成查看不到的)(見圖)

技術分享圖片

 5.開啟keepalive的日誌,編輯vim /etc/sysconfig/keepalived(見圖)(該為開啟日誌功能)還需要一個日誌文件,即是編輯/etc/rsyslog.conf (增加2圖最後一行)最後重啟日誌,和keepalived,最後檢查日誌是否開啟成功

技術分享圖片
技術分享圖片
技術分享圖片

三、配置nginx規則,開啟nginx服務

 1.對master服務器和back服務器都啟用nginx服務,同時其的配置文件內容應該要一致,因此在mater中配置好以後,可以直接傳送一份給back服務器。

技術分享圖片
技術分享圖片
技術分享圖片

2.開啟nginx服務前測試一下配置文件是否有錯誤,nginx -t -c /etc/nginx/nginx.conf

技術分享圖片

3.配置兩個上遊服務器upstream,一個為靜態服務器,一個是動態服務器(本處動態服務器,暫用靜態內容來響應,只為體現能分開反代而已,且本處是根據目錄進行動靜分離,且是httpd服務)

技術分享圖片
動態服務器(centos7 記得關閉防火墻)
技術分享圖片

四、結果展示

 1.master 功能正常時狀態,

技術分享圖片

 2.當master 異常down機時,backup自動接替master的位置進行服務達到高可用目的.

技術分享圖片

keepalive高可用nginx(nginx動靜分離)的實現