Nginx(八) 配置高可用的集群

逆流者 2020年01月15日 101次浏览

准备两台机器, 安装好keepalived和nginx

keepalived

# 安装
yum install keepalived –y
# 进入安装目录
cd /etc/keepalived/
# 修改配置文件
vim keepalivec.conf

keepalivec.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
}
vrrp_script chk_http_port {
 script "/usr/local/src/nginx_check.sh"
 interval 2 #(检测脚本执行的间隔)
 weight 2
}
vrrp_instance VI_1 {
 state BACKUP # 备份服务器上将 MASTER 改为 BACKUP 
 interface ens33 //网卡
 virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同
 priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小
 advert_int 1
 authentication {
 auth_type PASS
 auth_pass 1111
 }
 virtual_ipaddress {
 192.168.3.50 // VRRP H 虚拟地址
 } }

在/usr/local/src 添加检测脚本
nginx_check.sh, 给执行权限

#!/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

把两台服务器上 nginx 和 keepalived 启动
启动 nginx:./nginx
启动 keepalived:systemctl start keepalived.service

测试
在浏览器地址栏输入 虚拟 ip 地址 192.168.3.50

把主服务器nginx 和 keepalived 停止,再输入 192.168.3.50