九、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{
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
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 查看效果

浙公网安备 33010602011771号