1战得、什么是nginx高可用
高可用集群原理.png
(1) 需要兩臺nginx服務(wù)器腔寡。
(2) 需要keepalived
(3) 需要虛擬ip
2、配置高可用的準(zhǔn)備工作
(1) 需要兩臺服務(wù)器192.168.17.129 和192.168.17.131
(2) 在兩臺服務(wù)器安裝nginx.
(3) 在兩臺服務(wù)器安裝keepalived.
3贞绳、在兩臺服務(wù)器安裝keepalived
使用yum命令進(jìn)行安裝
$ yum install keepalived
$ rpm -q -a keepalived #查看是否已經(jīng)安裝上
默認(rèn)安裝路徑: /etc/keepalived
安裝完成后自動在etc里面生成目錄keepalived, 有配置文件keepalived.conf
4、完成高可用配置(主從配置)
(1)修改keepalived的配置文件keepalived.conf為:
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_ server 192.168.17.129
smtp_connect_timeout 30
router_id LVS_DEVEL # LVS_DEVEL這字段在/etc/hosts文件中看;通過它訪問到主機(jī)
}
vrrp_script chk_http_ port {
script "/usr/local/src/nginx_check.sh"
interval 2 # (檢測腳本執(zhí)行的間隔)2s
weight 2 #權(quán)重垮衷,如果這個腳本檢測為真,服務(wù)器權(quán)重+2
}
vrrp_instance VI_1 {
state BACKUP # 備份服務(wù)器上將MASTER 改為BACKUP
interface ens33 //網(wǎng)卡名稱
virtual_router_id 51 # 主乖坠、備機(jī)的virtual_router_id必須相同
priority 100 #主搀突、備機(jī)取不同的優(yōu)先級,主機(jī)值較大熊泵,備份機(jī)值較小
advert_int 1 #每隔1s發(fā)送一次心跳
authentication { # 校驗方式仰迁, 類型是密碼,密碼1111
auth type PASS
auth pass 1111
}
virtual_ipaddress { # 虛擬ip
192.168.17.50 // VRRP H虛擬ip地址
}
}
(2)在路徑/usr/local/src/ 下新建檢測腳本 nginx_check.sh
nginx_check.sh
#! /bin/bash
A=`ps -C nginx -no-header | wc - 1`
if [ $A -eq 0];then
/usr/local/nginx/sbin/nginx
sleep 2
if [`ps -C nginx --no-header| wc -1` -eq 0 ];then
killall keepalived
fi
fi
(3) 把兩臺服務(wù)器上nginx和keepalived啟動
$ systemctl start keepalived.service #keepalived啟動
$ ps -ef I grep keepalived #查看keepalived是否啟動
5顽分、最終測試
(1) 在瀏覽器地址欄輸入虛擬ip地址192.168.17.50
(2) 把主服務(wù)器(192.168.17.129) nginx和keealived停止徐许,再輸入192.168.17.50.
$ systemctl stop keepalived.service #keepalived停止