溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nginx怎么結合keepalived實現(xiàn)高可用

發(fā)布時間:2022-06-02 14:07:28 來源:億速云 閱讀:147 作者:iii 欄目:web開發(fā)

本篇內(nèi)容主要講解“nginx怎么結合keepalived實現(xiàn)高可用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“nginx怎么結合keepalived實現(xiàn)高可用”吧!

keepalived的介紹

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

系統(tǒng)架構圖

nginx怎么結合keepalived實現(xiàn)高可用

實現(xiàn)步驟

1.環(huán)境配置

1.1 安裝nginx

安裝相關依賴

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

上傳解壓壓縮包

tar zxvf nginx-1.12.2.tar.gz

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

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

預編譯和安裝

make && make install

啟動、停止相關命令

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

1.2 安裝keepalived

yum install -y keepalived

2.主機配置

修改keepalived配置文件

vim /etc/keepalived/keepalived.conf

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

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

vrrp_instance vi_1 {
 state master #主服務器為master,從服務器為backup
 interface eth0 #網(wǎng)卡
 virtual_router_id 51 #主、備機的virtual_router_id必須相同
 priority 100 #主、備機不同的優(yōu)先級,主機優(yōu)先級較大,備機值較小,默認是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.從機配置

修改keepalived配置文件

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

4.啟動服務

啟動

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.關閉防火墻測試

關閉防火墻

service iptables stop
#查看防火墻是否開機自啟動
chkconfig --list | grep iptables
chkconfig iptables off

登陸虛擬ip地址查看

http://192.168.126.88/

到此,相信大家對“nginx怎么結合keepalived實現(xiàn)高可用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI