1. 程式人生 > 其它 >九、Nginx配置高可用的叢集

九、Nginx配置高可用的叢集

Nginx配置高可用的叢集

1、什麼是高可用

 

 

(1)、需要兩臺nginx伺服器

(2)、需要keepalived

(3)、需要虛擬ip

2、配置高可用的準備工作

(1)、需要兩臺伺服器(虛擬機器) 192.168.17.129和192.168.17.131

(2)、在兩臺伺服器上安裝nginx

(3)、在兩臺伺服器上安裝keepalived

3、在兩臺伺服器上安裝keepalived

(1)、使用yum命令安裝keepalived

cd /usr

yum install keepalived -y

檢視是否安裝成功 :rpm -q -a keepalived

(2)、安裝路徑cd /etc中生成目錄keepalived,有配置檔案keepalived.conf

4、完成高可用配置(主從配置)

ifconfig --檢視網絡卡、ip

(1)、修改/etc/keepalived/keepalived.conf配置檔案

global defs{

notification_email{

[email protected]

[email protected]

[email protected]

}

notification_email_from [email protected]

smtp_server 192.168.17.129

stmp_connect_timeout 30

router_id LVS_DEVEL #重要,訪問到主機vi/etc/host中加的主機名

}

 

vrrp_script chk_http_port{

script "/usr/local/src/nginx_check.sh" #檢測指令碼檔案路徑

interval 2 #(檢測指令碼執行的間隔,每隔兩秒檢測一次)

weight 2 #權重

}

vrrp_instance VI_1{

state MASTER #備份伺服器上將MASTER改為BACKUP,設定伺服器是主伺服器還是 備份伺服器

interface ens33 //網絡卡,ipconfig檢視

virtual_router_id 51 #主、備機的virtual_router_id必須相同

priority 100 #主、備機取不同的優先順序,主機值較大,備份機值較小,大優先順序高

advert_int 1 #每隔一秒檢測心跳

authentication{

auth_type PASS

auth_pass 1111

}

virtual_ipaddress{

192.168.17.50 //VRRP H 虛擬地址

}

}

(2)、 新增檢測指令碼usr/local/src/nginx_check.sh

#!/bin/bash

A=ps -C nginx -no-header |wc -1

if [$A -eq 0 ];then

/usr/local/nginx/sbin/nginx --nginx啟動位置

sleep 2

if [ps -C nginx -no-header |wc -1 -eq 0 ];then

killall keepalived

fi

fi

(3)、把兩臺伺服器上的nginx和keepalived起來

啟動nginx:./nginx

啟動keepalived命令: systemctl start keepalived.service

ps -ef|grep keepalived --檢視程序

 

5、最終測試

(1)、瀏覽器輸入192.168.17.50 ,如果可以出現nginx頁面,說明虛擬ip繫結成功

(2)、把主伺服器(192.168.17.129)的nginx和keepalived停掉,再輸入192.168.17.50

停止nginx命令:./nginx -s stop

停止keepalived命令: systemctl stop keepalived.service

瀏覽器再輸入192.168.17.50 檢視效果