我們知道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...