• 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目录里

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

      6.使用【make】命令

       7.使用【make install】命令

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

    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;

  • 相关阅读:
    关于apache的动态与静态编译
    使用awk处理正则表达式时注意事项
    fedora下apache默认配置
    vim显示行号、语法高亮、自动缩进的设置
    简单介绍apahce内存管理机制
    处理路径上的小技巧
    Educational Codeforces Round 80 (Rated for Div. 2)
    web前端页面性能优化小结
    web标准—可用性、可维护性、可访问性
    雅虎团队经验:网站页面性能优化的 34条黄金守则
  • 原文地址:https://www.cnblogs.com/wnwn/p/12295611.html
Copyright © 2020-2023  润新知