keepalived nginx高可用負載均衡

2021-09-26 16:17:56 字數 1595 閱讀 2274

我們知道nginx和lvs都能做到負載均衡,但是相較於lvs,nginx負載均衡在中小規模web服務上更具優勢,因為:

我們嘗試一下keepalived+nginx高可用負載均衡

virtual ip

ip主機名

nginx埠

192.168.10.12

192.168.10.102

10280

192.168.10.13

192.168.10.103

10380

關閉selinux,開啟firewalld,主機102與103之間免密登入。

兩台nginx web伺服器分別提供相同的服務,當其中一台主機無法提供服務時,另一台馬上轉為master狀態,繼承vip,繼續提供服務。

首先伺服器應當時間同步

ntpdate 192.168.10.101
yum -y install nginx

cat> /etc/nginx/conf.d/1.conf < eof

server

} server

} server

}upstream abc

server

} server

}eof

mkdir -p /sy/

echo 11111 > /sy/a/index.html

echo 22222 > /sy/b/index.html

systemctl enable nginx

systemctl restart nginx

firewall-cmd --add-port=80/tcp

firewall-cmd --add-port=80/tcp --permanent

cat

> /etc/keepalived/keepalived.conf ! configuration file for keepalived

global_defs

vrrp_script chk_nginx

vrrp_instance vi_2

virtual_ipaddress

nopreempt

}vrrp_instance vi_2

virtual_ipaddress

nopreempt

}eof

systemctl enable keepalived

systemctl restart keepalived

到這一步完成我們就實現了基本功能,可以看到從其他主機訪問vip已經實現了高可用和負載均衡

[root@a mysql]# curl 192.168

.10.12

44444

[root@a mysql]# curl 192.168

.10.12

33333

[root@a mysql]# curl 192.168

.10.13

11111

[root@a mysql]# curl 192.168

.10.13

22222

keepalived nginx主從切換

五 nginx指令碼,新建nginx check.sh指令碼放到 etc keepalived下 指令碼內容 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 ...

keepalived nginx集群部署

192.168.132.130 伺服器1 192.168.132.132 伺服器2 虛擬ip 192.168.132.131 yum install gcc c gcc是gnu的c語言編譯器,至於c 編譯器,它的名字叫做g yum install y pcre pcre devel 在nginx編譯...

keepalived nginx負載安裝

環境 centos7.6 keepalived工具可以生成虛擬浮動ip,繫結到網絡卡上。172.21.210.19 master 172.21.210.20 backup 172.21.210.30 vip 浮動ip 1 兩個節點安裝keepalived yum y install keepaliv...