濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫(kù) > nginx結(jié)合keepalived實(shí)現(xiàn)高可用的完整步驟

nginx結(jié)合keepalived實(shí)現(xiàn)高可用的完整步驟

熱門標(biāo)簽:長(zhǎng)春電銷外呼系統(tǒng)代理商 大連電銷外呼系統(tǒng)運(yùn)營(yíng)商 接電話機(jī)器人罵人 百度地圖標(biāo)注尺寸無法顯示 泰州智能外呼系統(tǒng)排名 外呼系統(tǒng)虛擬號(hào)碼 400電話申請(qǐng)知乎 代理外呼系統(tǒng)創(chuàng)業(yè) 400電話干嘛怎么申請(qǐng)信用卡

前言

為了滿足系統(tǒng)的高可用,一般都需要搭建集群。當(dāng)主機(jī)掛掉的時(shí)候,我們的系統(tǒng)還可以繼續(xù)提供服務(wù)。當(dāng)我們使用nginx作為反向代理和動(dòng)靜分離服務(wù)器的時(shí)候,也是如此。實(shí)現(xiàn)系統(tǒng)的高可用性,是我們程序員關(guān)注的重點(diǎn)。本文介紹了nginx結(jié)合keepalived實(shí)現(xiàn)主從模式搭建高可用集群。

前提知識(shí)

本文不作過多的nginx相關(guān)配置介紹,默認(rèn)讀者已經(jīng)了解nginx的相關(guān)知識(shí)。

keepalived的介紹

Keepalived的作用是檢測(cè)服務(wù)器的狀態(tài),如果有一臺(tái)web服務(wù)器宕機(jī),或工作出現(xiàn)故障,Keepalived將檢測(cè)到,并將有故障的服務(wù)器從系統(tǒng)中剔除,同時(shí)使用其他服務(wù)器代替該服務(wù)器的工作,當(dāng)服務(wù)器工作正常后Keepalived自動(dòng)將服務(wù)器加入到服務(wù)器群中,這些工作全部自動(dòng)完成,不需要人工干涉,需要人工做的只是修復(fù)故障的服務(wù)器。

系統(tǒng)架構(gòu)圖

實(shí)現(xiàn)步驟

1.環(huán)境配置

1.1 安裝nginx

安裝相關(guān)依賴

yum install pcre-devel zlib zlib-devel openssl openssl-devel

上傳解壓壓縮包

tar zxvf nginx-1.12.2.tar.gz

創(chuàng)建目錄,檢測(cè)配置

mkdir -p /usr/local/nginx
./configure --prefix=/usr/local/nginx

預(yù)編譯和安裝

make && make install

啟動(dòng)、停止相關(guān)命令

cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s start

1.2 安裝keepalived

yum install -y keepalived

2.主機(jī)配置

修改keepalived配置文件

vim /etc/keepalived/keepalived.conf

修改的內(nèi)容如下

#新增的配置
vrrp_script chk_http_port {
 script "/shell/nginx_check.sh" #腳本地址
 interval 2 #檢測(cè)腳本執(zhí)行的間隔
 weight 2 #比重
}

vrrp_instance VI_1 {
 state MASTER #主服務(wù)器為MASTER,從服務(wù)器為BACKUP
 interface eth0 #網(wǎng)卡
 virtual_router_id 51 #主、備機(jī)的virtual_router_id必須相同
 priority 100 #主、備機(jī)不同的優(yōu)先級(jí),主機(jī)優(yōu)先級(jí)較大,備機(jī)值較小,默認(rèn)是100
 advert_int 1
 authentication {
  auth_type PASS
  auth_pass 1111
 }
 #虛擬IP地址
 virtual_ipaddress {
  192.168.126.88
 }
}

創(chuàng)建編寫腳本文件

mkdir /shell/nginx_check.sh
vim /shell/nginx_check.sh

腳本文件內(nèi)容如下

#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then
  /usr/local/nginx/sbin/nginx
  sleep 2
  if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
    killall keepalived
  fi
fi

3.從機(jī)配置

修改keepalived配置文件

vrrp_instance VI_1 {
  state BACKUP #主服務(wù)器為MASTER,從服務(wù)器為BACKUP
  interface eth0 #網(wǎng)卡
  virtual_router_id 51 #主、備機(jī)的virtual_router_id必須相同
  priority 50 #主、備機(jī)不同的優(yōu)先級(jí),主機(jī)優(yōu)先級(jí)較大,備機(jī)值較小
  advert_int 1
  authentication {
    auth_type PASS
    auth_pass 1111
  }
  #虛擬IP地址
  virtual_ipaddress {
    192.168.126.88
  }
}

4.啟動(dòng)服務(wù)

啟動(dòng)

service keepalived start

查看虛擬IP地址

ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  inet 127.0.0.1/8 scope host lo
  inet6 ::1/128 scope host 
    valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  link/ether 00:0c:29:4f:31:ce brd ff:ff:ff:ff:ff:ff
  inet 192.168.126.100/24 brd 192.168.126.255 scope global eth0
  inet 192.168.126.88/32 scope global eth0
  inet6 fe80::20c:29ff:fe4f:31ce/64 scope link 
    valid_lft forever preferred_lft forever

5.關(guān)閉防火墻測(cè)試

關(guān)閉防火墻

service iptables stop
#查看防火墻是否開機(jī)自啟動(dòng)
chkconfig --list | grep iptables
chkconfig iptables off

登陸虛擬IP地址查看

http://192.168.126.88/

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

標(biāo)簽:長(zhǎng)治 安陽 大慶 臺(tái)灣 雅安 興安盟 中衛(wèi) 清遠(yuǎn)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《nginx結(jié)合keepalived實(shí)現(xiàn)高可用的完整步驟》,本文關(guān)鍵詞  nginx,結(jié)合,keepalived,實(shí)現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《nginx結(jié)合keepalived實(shí)現(xiàn)高可用的完整步驟》相關(guān)的同類信息!
  • 本頁收集關(guān)于nginx結(jié)合keepalived實(shí)現(xiàn)高可用的完整步驟的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    滨州市| 朝阳区| 罗甸县| 裕民县| 大丰市| 许昌县| 长岭县| 十堰市| 榆树市| 共和县| 武陟县| 房山区| 当阳市| 宣武区| 陇南市| 上思县| 同江市| 榆林市| 深泽县| 西林县| 吴桥县| 浦江县| 邻水| 永善县| 武威市| 河津市| 丰都县| 库尔勒市| 永康市| 镶黄旗| 海晏县| 昂仁县| 凌云县| 临海市| 大英县| 平江县| 沛县| 阳山县| 贵阳市| 泰顺县| 萍乡市|