佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > nginx+keepalived 高可用主從配置詳解

nginx+keepalived 高可用主從配置詳解

熱門(mén)標(biāo)簽:網(wǎng)站建設(shè) 使用U盤(pán)裝系統(tǒng) 美圖手機(jī) 檢查注冊(cè)表項(xiàng) 阿里云 硅谷的囚徒呼叫中心 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 智能手機(jī)

本文介紹了nginx+keepalived 高可用主從配置詳解,分享給大家,具體如下:

一、系統(tǒng)環(huán)境及軟件版本

CentOS 6.6 x64
keepalived-1.2.18.tar.gz
nginx-1.6.2.tar.gz

主服務(wù)器:192.168.38.64

從服務(wù)器:192.168.38.66

VIP :192.168.38.100

二、nginx安裝 (主從安裝一致)

1.安裝依賴環(huán)境

復(fù)制代碼 代碼如下:
yum install gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-developenssl openssl-devel
  

2.上傳nginx到 opt 目錄

3.解壓安裝

  # tar -zxvf nginx-1.6.2.tar.gz

  # cd nginx-1.6.2
  # ./configure --prefix=/opt/nginx (prefix=/opt/nginx 這個(gè)指定的是 nginx目錄)
  # make && make install

4.修改 nginx監(jiān)聽(tīng)端口 及 index.html

# vi /opt/nginx/conf/nginx.conf

vi /opt/nginx/html/index.html

5. nginx 啟動(dòng)及常用命令

配置測(cè)試: /opt/nginx/sbin/nginx -t 出現(xiàn)如下界面說(shuō)明配置沒(méi)問(wèn)題

啟動(dòng) : /opt/nginx/sbin/nginx

重啟 : /opt/nginx/sbin/nginx -s reload

停止 : /opt/nginx/sbin/nginx -s stop

6.開(kāi)機(jī)啟動(dòng) nginx

vi /etc/rc.local

加入: /opt/nginx/sbin/nginx

7.修改防火墻開(kāi)放端口

vi /etc/sysconfig/iptables

添加 : -A INPUT -p tcp -m state --state NEW -m tcp --dport 8888 -j ACCEPT

重啟防火墻 : service iptables restart

8.問(wèn)題

啟動(dòng) nginx遇到的問(wèn)題

vi /etc/ld.so.conf

添加: /opt/nginx/lib/

9.nginx的負(fù)載均衡

nginx的負(fù)載均衡主要是 由upstream 這一模塊完成

修改 nginx的配置文件

vi /data/nginx/conf/nginx.conf

添加如下內(nèi)容:(web_pools 這個(gè)名稱(chēng)可變)

  upstream web_pools { 
  server 10.0.6.108:7080weight=1;
   server 10.0.0.85:8980weight=1;
  }

將server節(jié)點(diǎn)下的location節(jié)點(diǎn)中的proxy_pass配置為:http:// + upstream名稱(chēng)即可

結(jié)果如下:

其中 weight是權(quán)重 backup是備用服務(wù)器 ,只有其它服務(wù)器宕機(jī)后,備用服務(wù)器才會(huì)啟動(dòng)。

三、keepalived 安裝

1.keepalived上傳到 opt目錄下

2.解壓 安裝  

  tar -zxvf keepalived-1.2.18.tar.gz
  cd keepalived-1.2.18
  ./configure --prefix=/opt/keepalived
  make && make install

3.將keepalived 安裝成 linux服務(wù)

cp /opt/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
  cp /opt/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
  ln -s /opt/sbin/keepalived /usr/sbin/
  ln -s /opt/keepalived/sbin/keepalived /sbin/

4.設(shè)置 keepalived 服務(wù)開(kāi)機(jī)啟動(dòng)

chkconfig keepalived on

5.修改 Keepalived 配置文件

vi /etc/keepalived/keepalived.conf

  ! 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_01 #這個(gè)配置要唯一
  } 

  vrrp_script chk_nginx {
    script "/etc/keepalived/nginx_check.sh" ## 檢測(cè) nginx 狀態(tài)的腳本路徑
    interval 2 ## 檢測(cè)時(shí)間間隔
    weight -20 ## 如果條件成立,權(quán)重-20
  } 

  vrrp_instance VI_1 { #實(shí)例 VI_1 名字可以隨意 但是不建議修改
    state MASTER # 主服務(wù)器MASTER 從服務(wù)器 BACKUP
    interface em1 # em1 網(wǎng)卡
    virtual_router_id 51 #virtual_router_id 主備要一致
    priority 100   # 優(yōu)先級(jí) 數(shù)字越大 優(yōu)先級(jí)越高 priority 的值 主服務(wù)器要大于 從服務(wù)器
    advert_int 1  #設(shè)定MASTER與BACKUP負(fù)載均衡器之間同步檢查的時(shí)間間隔,單位是秒
    authentication { # 主從通信 驗(yàn)證類(lèi)型及密碼 
      auth_type PASS  #設(shè)置vrrp驗(yàn)證類(lèi)型,主要有PASS和AH兩種
      auth_pass 1111  #設(shè)置vrrp驗(yàn)證密碼,在同一個(gè)vrrp_instance下,MASTER與BACKUP必須使用相同的密碼才能正常通信
    } 

    ## 將 track_script 塊加入 instance 配置塊
    track_script {
      chk_nginx ## 執(zhí)行 Nginx 監(jiān)控的服務(wù)
    }

    virtual_ipaddress {
    192.168.38.100/24 #VRRP HA 虛擬地址 如果有多個(gè)VIP,繼續(xù)換行填寫(xiě)
    }
  } 

6.編寫(xiě) Nginx 狀態(tài)檢測(cè)腳本

vi /etc/keepalived/nginx_check.sh

內(nèi)容如下:

  #!/bin/bash

  A=`ps -C nginx –no-header |wc -l`
  if [ $A -eq 0 ];then
    /opt/nginx/sbin/nginx
    sleep 2
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then

      killall keepalived
    fi
  fi

保存后,給腳本賦執(zhí)行權(quán)限:chmod +x/etc/keepalived/nginx_check.sh

7.注意點(diǎn):Keepalived主從配置文件不同點(diǎn)

  a.router_id 不一致

  b.state 主服務(wù)器是MASTER ,從服務(wù)器是 BACKUP

  c.priority 主服務(wù)器 大于 從服務(wù)器

8.keepalived 命令

  啟動(dòng) : servicekeepalived start

  停止: servicekeepalived stop

  重啟: servicekeepalived restart

9.注意的問(wèn)題

a.vip沒(méi)綁定成功

解決方案:ip addr 查看 本地ip所在網(wǎng)卡的名稱(chēng) ,然后修改 配置文件

vi /etc/keepalived/keepalived.conf

保存后 servicekeepalived restart 重啟 keepalived服務(wù)即可

10.測(cè)試

啟動(dòng)主從nginx和keepalived 服務(wù)

主從服務(wù)器分別: ip add | grep 192.168.38.100

在192.168.38.64 可看到

同時(shí) 在192.168.38.66

當(dāng)殺死 主服務(wù)器上的keepalived 則 從服務(wù)器

當(dāng)再次啟動(dòng)主服務(wù)器上的keepalived則結(jié)果主服務(wù)器上有結(jié)果,從服務(wù)器上沒(méi)結(jié)果。

當(dāng)殺死 nginx后,keepalived則會(huì)自動(dòng)啟動(dòng) nginx服務(wù)

11. keepalived腦裂 (ip add | grep 192.168.38.100 在主從都有結(jié)果)

解決方案:防火墻問(wèn)題

iptables-IINPUT4-pvrrp-jACCEPT  

service iptables save

service iptables restart

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:賀州 黃山 湘潭 煙臺(tái) 山南 懷化 通遼 湖北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《nginx+keepalived 高可用主從配置詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    霞浦县| 崇信县| 鹤庆县| 奉化市| 松江区| 淳安县| 镇沅| 安宁市| 柘城县| 迁西县| 井陉县| 刚察县| 荆门市| 阿拉善右旗| 山阴县| 台东县| 沅陵县| 铜陵市| 肥西县| 凤冈县| 吴桥县| 吐鲁番市| 永康市| 横峰县| 南昌县| 望江县| 武夷山市| 金门县| 萝北县| 巴彦县| 仲巴县| 临清市| 红桥区| 凤庆县| 连江县| 清涧县| 开化县| 鄂州市| 威信县| 怀柔区| 郎溪县|