博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx+keepalived实现nginx双主的高可用
阅读量:6948 次
发布时间:2019-06-27

本文共 2722 字,大约阅读时间需要 9 分钟。

hot3.png

上次介绍了一篇nginx+keepalived来实现nginx服务器的高可用,其中的一台nginx是处于闲置的,感觉有点浪费资源,,这次再介绍下nginx+keepalived的nginx双主模式。就是2台nginx同时提供服务,域名解析的时候解析到2个IP上去,有一台挂掉了,所以的请求都会转移到另一台上面去。

之前nginx以及keepalived的安装在这里有介绍:
环境如下:
主nginx服务器:184.173.91.43
备nginx服务器:184.173.91.44
VIP1:184.173.91.47
VIP2:184.173.91.48
nginx和keepalived安装好以后编辑主nginx上面的keepalived.conf

[caoy ~]$ vi /etc/keepalived/keepalived.conf

global_defs {
notification_email {
linuxcy@126.com
}
notification_email_from keepalived@localhost.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_http_port {
script “/bin/whole51/nginx_pid.sh”
interval 2
weight 2
}
vrrp_instance VI_1 {
state MASTER
interface eth1
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_http_port
}
virtual_ipaddress {
184.173.91.47
}
}
vrrp_instance VI_2 {
state BACKUP
interface eth1
virtual_router_id 52
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
184.173.91.48
}
}

备nginx上面的keepalived.conf文件如下:

[caoy ~]$ vi /etc/keepalived/keepalived.conf

global_defs {
notification_email {
linuxcy@126.com
}
notification_email_from keepalived@localhost.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_http_port {
script “/bin/whole51/nginx_pid.sh”
interval 2
weight 2
}
vrrp_instance VI_1 {
state BACKUP
interface eth1
virtual_router_id 51
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
184.173.91.47
}
}
vrrp_instance VI_2 {
state MASTER
interface eth1
virtual_router_id 52
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_http_port
}
virtual_ipaddress {
184.173.91.48
}
}

然后分别在2台nginx上面添加检测脚本:

[caoy ~]$ vi /bin/whole51/nginx_pid.sh
#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then
/usr/sbin/nginx
sleep 3
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi

分别在2台nginx上启动nginx和keepalived服务,然后分别用ip a来查看IP

主nginx(184.173.91.43)的ip
[caoy ~]$ /sbin/ip a
3: eth1: mtu 1500 qdisc pfifo_fast qlen 1000
link/ether ae:bb:d0:43:c0:fc brd ff:ff:ff:ff:ff:ff
inet 184.173.91.43/27 brd 184.173.91.63 scope global eth1
inet 184.173.91.47/32 scope global eth1
inet6 fe80::acbb:d0ff:fe43:c0fc/64 scope link
valid_lft forever preferred_lft forever

备nginx(184.173.91.44)的ip

[caoy ~]$ /sbin/ip a
3: eth1: mtu 1500 qdisc pfifo_fast qlen 1000
link/ether f2:3b:4b:db:e5:d7 brd ff:ff:ff:ff:ff:ff
inet 184.173.91.44/27 brd 184.173.91.63 scope global eth1
inet 184.173.91.48/32 scope global eth1
inet6 fe80::f03b:4bff:fedb:e5d7/64 scope link
valid_lft forever preferred_lft forever

转载于:https://my.oschina.net/harvard/blog/205962

你可能感兴趣的文章
Logtail提升采集性能
查看>>
史上最失败的一次营销活动
查看>>
asp.net5发神经一例 ------无法加载依赖
查看>>
数据库水平切分的实现原理解析
查看>>
nova boot from volume在多主机zone下的坑
查看>>
uip中关于web服务器的简单例子
查看>>
Windows 10 ADK 1809 的变更 附下载地址
查看>>
修改win7和win8 preview双系统的开机默认启动项
查看>>
参考案例Shop-React-Native,后端Yii2
查看>>
关于PHP_CMS的一点感想
查看>>
知乎[披萨不就是个大饼铺点肉]问题延伸出的认知风格相关知识
查看>>
新浪微博基于混合云的PHP服务化与弹性扩容
查看>>
centOS7封装
查看>>
通过php 执行git pull 自动部署
查看>>
google乱码 IE浏览器 英文
查看>>
Linux查看系统配置常用命令
查看>>
销售型网站把握的设计要点
查看>>
我的友情链接
查看>>
mongodb数据备份和还原
查看>>
VM虚拟机下安装Centos7.0图文教程
查看>>