zoukankan      html  css  js  c++  java
  • nginx使用Keepalived

    什么是Keepalived

      Keepalived是一个免费开源的,用C编写的类似于layer3,4&7交换机制软件,具备我们平时说的第三层,第四层,第七层交换机的功能。主要提供loadbalancing(负载均衡)和high-avaliability(高可用)功能,负载均衡实现需要依赖inux的虚拟服务内核模块,而高可用是通过VRRP协议实现多台机器之间的故障转移服务。

        

          上图是Keepalived的功能体系结构,大致分两层:用户空间和内核空间;

          内核空间:主要包含IPVS(IP虚拟服务器,用于实现网络服务的负载均衡)和NETLINK(提供高级路由及其他相关的网络功能)两个部分;

          用户空间

            WatchDog:负载监控checkers和VRRP进程的状况;

            VRRP Stack:负载均衡之间的失败切换FailOver,如果只用一个负载均衡器,则VRRP不是必须的;

            Checkers:负责真实服务器的健康检查healthchecking,是keepalived最主要的功能,换言之,可以没有VRRP Stack,但健康检查healthchecking是一定要有的;

            IPVS wrapper:用户发送设定的规则到内核ipvs代码;

            Netlink Reflector:用来设定vrrp的VIP地址等;

          keepalived的所有功能是配置keepalived.conf文件来实现的;

    安装keepalived

      1.使用【rz】命令将上传的文件放在【/usr/local】目录下

        

      2.使用命令解压

    tar -zxvf keepalived-1.2.18.tar.gz

        

       3.进入keepalived-1.2.18目录下

      4.执行【yum install -y openssl openssl-devel】命令

        

      5.使用【./configure --prefix=/usr/local/keepalived】命令编译

        编译的文件放到了/usr/local/keepalived目录里

    1
    ./configure --prefix=/usr/local/keepalived

      6.使用【make】命令

       7.使用【make install】命令

      8.在/etc目录下创建文件夹

    1
    mkdir /etc/keepalived

      9.使用【cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/】命令

    cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

      10.使用【cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/】命令

    cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

      11.使用【cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/】命令

    cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

      12.使用【ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/】命令

    ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/

      13.使用【ln -s /usr/local/keepalived/sbin/keepalived/sbin/】命令

    ln -s /usr/local/keepalived/sbin/keepalived/sbin/

      14.使用rz将本地的nginx启动脚本和keepalived.conf文件上传到/etc/keepalived目录下

        

      15.修改keepalived.conf配置文件

        主机配置修改:

          

        备机配置修改:【两台虚拟机需要安装的东西是一个的,只有keepalived.conf文件不一样】

          

       16.启动keepalived

        使用【service keepalived start】命令分别启动两台机器

      17.效果

        1.当两个服务器都启动起来时,keepalived默认会找主机,备机只有当主机挂掉之后,才使用;

          

          当两台机器都启动时,可以使用【ip a】命令查看

            主机

              

             备机

              

         2.可以使用【service keepalived stop】命令将keepalived服务关闭,这时虚拟IP则会在备机上

            

            主机挂掉,访问的就是备机的nginx

            

        3.测试在nginx出现问题的情况下,实现切换,我们把主机的nginx服务进程杀掉,使用【kill 进程号】命令

          实现效果:关闭nginx进程,如果没有赋予权限,那么访问是将不会自动重启nginx,页面就会一直在刷新;

           自动重启不了nginx,解决方案:

            使用【chmod 777 *.sh】命令  或者  【chmod +x *.sh】命令

           配置完成后,杀掉nginx进程,再次访问,将会自动重启nginx;

  • 相关阅读:
    Selenium2+python自动化71-多个浏览器之间的切换【转载】
    Selenium2+python自动化70-unittest之跳过用例(skip)【转载】
    Selenium2+python自动化69-PhantomJS使用【转载】
    页面跳转(页面从哪儿来回哪儿去)
    请求报错总结
    datetimepicker.js 使用笔记
    兼容性记录
    submit()提交表单时,显示警示框
    将时间戳转换为时间
    css精简命名
  • 原文地址:https://www.cnblogs.com/mayuan01/p/12391216.html
Copyright © 2011-2022 走看看