博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
KeepAlived主备/主主模型高可用Nginx
阅读量:5747 次
发布时间:2019-06-18

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

部署准备:

  两台CentOS 7主机HA1和HA2

CentOS 7 基于rpm包安装Nginx:

  由于Base源中没有Nginx,所以要安装EPEL源,命令如下:

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmrpm -ivh epel-release-latest-7.noarch.rpmyum repolist      ##检查是否已添加至源列表

      然后就可以用yum安装相应的rpm包了

主备模型部署开始:

  1.两台主机各自安装Nginx,并自行设置好测试页

  2.keepalived配置文件示例:

! Configuration File for keepalivedglobal_defs {   notification_email {       root@localhost   }   notification_email_from admin@ka.com    smtp_server 127.0.0.1   smtp_connect_timeout 30   router_id node1}/*进程状态探测脚本*//*务必要定义在实例之外,再在实例内调用*//*且脚本名字尽量不要用完整单词,如check等,我第一次用此名导致脚本执行失败,可用ck,chk等代替为妙*/vrrp_script ck_nginx {   script "killall -0 nginx"   interval 2   weight -5}vrrp_instance VI_1 {    state MASTER    interface eno16777736    virtual_router_id 51    priority 100    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    virtual_ipaddress {        192.168.1.100 dev eno16777736 label eno16777736:0    }   /*在实例内调用脚本*/     track_script {        ck_nginx    }}

  3.开始测试效果:

    ①现在备节点启用keepalived,显示

    ②再在主节点开启keepalived,备节点的日志显示

    此时,访问nginx的结果是

    ③在主节点上停止nginx,再次访问服务,结果是HA2,符合需求


主主模型部署开始:

  HA1:          HA2:

    主          备

    备          主

  HA1配置文件:

! Configuration File for keepalivedglobal_defs {   notification_email {       root@localhost   }   notification_email_from admin@ka.com    smtp_server 127.0.0.1   smtp_connect_timeout 30   router_id node1}vrrp_script ck_nginx {   script "killall -0 nginx"   interval 2   weight -5}vrrp_instance VI_1 {    state MASTER    interface eno16777736    virtual_router_id 51    priority 100    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    virtual_ipaddress {        192.168.1.100 dev eno16777736 label eno16777736:0    }    track_script {        ck_nginx    }}vrrp_instance VI_2 {    state BACKUP    interface eno16777736    virtual_router_id 52    priority 98    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    virtual_ipaddress {        192.168.1.111 dev eno16777736 label eno16777736:1    }    track_script {        ck_nginx    }}

  HA2配置文件:

! Configuration File for keepalivedglobal_defs {   notification_email {       root@localhost   }   notification_email_from admin@ka.com    smtp_server 127.0.0.1   smtp_connect_timeout 30   router_id node1}vrrp_script ck_nginx {   script "killall -0 nginx"   interval 2   weight -5}vrrp_instance VI_1 {    state BACKUP     interface eno16777736    virtual_router_id 51    priority 98    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    virtual_ipaddress {        192.168.1.100 dev eno16777736 label eno16777736:0    }    track_script {        ck_nginx    }}vrrp_instance VI_2 {    state MASTER    interface eno16777736    virtual_router_id 52    priority 100    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    virtual_ipaddress {        192.168.1.111 dev eno16777736 label eno16777736:1    }    track_script {        ck_nginx    }}

  测试开始:

  ①现在HA2上开启keepalived,效果如下:

  ②再在HA1上开启,效果是:

  ③回到HA2,使用ifconfig查看结果是:

 

注意:

  脚本中用到的killall命令如果是最小化安装默认是没有此命令的,需要运行:

yum -y install psmisc

 

转载于:https://www.cnblogs.com/trymybesttoimp/p/6218449.html

你可能感兴趣的文章
《Sony Vegas Pro 12标准教程》——第2章 基础篇——初级剪辑 2.1 视频采集技术知识...
查看>>
《大数据集成(1)》一2.1 传统模式对齐:快速导览
查看>>
《C++ 黑客编程揭秘与防范》—第1章1.4节 总结
查看>>
Dagger——Android 的依赖注入框架
查看>>
你的工作会被机器人取代吗?
查看>>
WebMagic 0.7.1 版本发布,Java 爬虫框架
查看>>
《Docker生产环境实践指南》——2.3 宿主机管理
查看>>
《Android游戏开发详解》——第2章,第2.17节对象是独立的
查看>>
《好学的C++程序设计》——第1章 概论
查看>>
《Adobe Flash CS5中文版经典教程》——1.9 预览影片
查看>>
《HTML5+CSS3网页设计入门必读》——2.7 我们不使用这种语言
查看>>
想谈恋爱?来对个暗号先!
查看>>
Linux 内核的测试和调试(6)
查看>>
11张图带你走过数据可视化的前生今世
查看>>
关于鼠标滚轮事件的禁止方法
查看>>
ASM 翻译系列第三十五弹:ASM 253号文件——ASM spfile
查看>>
[快速技巧]如何设定你的 Ubuntu 14.04 自动关机
查看>>
《JavaScript入门经典(第6版)》——1.10 作业
查看>>
演讲实录丨陈天 基于表现性评价的综合问题解决能力评估
查看>>
《Access 2007开发指南(修订版)》一一2.13 检查表特殊性和局限性
查看>>