• keepalived + nginx双主 实战


      安装nginx    

                    nginx 下载地址 http://nginx.org/download/nginx-1.8.0.tar.gz

          

                           安装nginx的依赖关系  

                           yum install pcre pcre-devel openssl openssl-devel -y 

                           创建用户  useradd www

       

    接下来编译安装nginx   

    ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

           make      make install 

            /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  指定配置文件

            /usr/local/nginx/sbin/nginx -s reload   启动nginx    

                 nginx安装完成 我这里只安装一台 多台一样             

    keepalived 安装 

           keepalived  下载地址 http://www.keepalived.org/software/keepalived-1.2.19.tar.gz 

                                    

          安装基础环境       

                           yum -y install gcc gcc-c++ pcre-devel zlib-devel openssl-devel 

         

           内核开发包安装

                            yum install  kernel-devel kernel  -y            

                

              编译安装keepalived    

          /configure --with-kernel-dir=/usr/src/kernels/2.6.32-573.3.1.el6.x86_64/   

          make && make install

         

           将安装完的keepalived 拷贝到目录                       

              DIR=/usr/local/
             ;cp $DIR/etc/rc.d/init.d/keepalived 
             /etc/rc.d/init.d/ ; cp $DIR/etc/sysconfig/keepalived /etc/sysconfig/ ;
              mkdir -p /etc/keepalived ; cp $DIR/sbin/keepalived /usr/sbin/
                

               chkconfig keepalived on

                 

     编辑配置文件 默认配置文件不存在

                           vim  /etc/keepalived/keepalived.conf 

                            

            msater 配置文件   

    ! configuration file for keepalived
    #by:v
    global_defs {

    }

    vrrp_script chk_run {
    script /root/my.sh
    interval 2
    weight 2
    }

    # VIP1                                         # 第一台

    vrrp_instance VI_1 {
    state MASTER
    interface eth0
    lvs_sync_daemon_inteface eth0
    virtual_router_id 151
    priority 102
    advert_int 1  
    nopreempt                           #不抢占   当master挂了之后 飘到backup 上面    master修好之后   不抢占  
    authentication {
    auth_typepass        
    auth_pass 1111
    }

    virtual_ipaddress {
    192.168.80.43
                           
    }

    track_script {
    chk_run

    }
    }


    # VIP2                                # 第二台

    vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    lvs_sync_daemon_inteface eth0
    virtual_router_id 150
    priority 100
    advert_int 1  
    authentication {
    auth_typepass        
    auth_pass 2222
    }

    virtual_ipaddress {
    192.168.80.44
                           
    }

    track_script {
    chk_run

      }
    }

     backup 配置文件   

                           vim  /etc/keepalived/keepalived.conf 

        

    vrrp_script chk_run {
    script "/root/my.sh"
    interval 2
    weight 2
    }

    # VIP1
    vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    lvs_sync_daemon_inteface eth0
    virtual_router_id 151
    priority 100
    advert_int 1

    authentication {
    auth_typepass
    auth_pass 1111
    }

    virtual_ipaddress {
    192.168.80.43
    }

    track_script {
    chk_run

    }

    }

    # VIP2
    vrrp_instance VI_1 {
    state MASTER
    interface eth0
    lvs_sync_daemon_inteface eth0
    virtual_router_id 150
    priority 102
    advert_int 1
    nopreempt

    authentication {
    auth_typepass
    auth_pass 2222
    }

    virtual_ipaddress {
    192.168.80.44
    }

    track_script {
    chk_run

       }

    }

             

      在上面我们定义了引my.sh脚本  通过my.sh脚本检测 ngixn 是否正常 我们来写一个脚本   

            

    #!/bin/bash
    A=`netstat -ltnp |grep 80 |wc -l`
    if [ $A -eq 0 ];then
    /etc/rc.d/init.d/keepalived stop
    fi

    chmod +x my.sh   

                         

              启动keepalived服务     到此完成  

     

    /etc/rc.d/init.d/keepalived start    

              

                           

     

  • 相关阅读:
    qemuimg convert 转换vmdk 等虚拟机文件到dd
    golang 占位符%d %t %v
    QT插件vs报错。 The system cannot find the path specified. 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(170,5): error MSB6006: “cmd.exe”已退出,代码为 3
    兆芯,ZXC4580
    jenkins 构建任务 —— 微服务依赖其它微服务
    jenkins构建项目后主动杀死进程再重启进程。
    升级jenkins到最新版本,并安装git插件
    golang基础 自定义类型和类型别名(type)
    SpinalWorkshop实验笔记(三)
    SpinalWorkshop实验笔记(一)
  • 原文地址:https://www.cnblogs.com/hanwei999/p/5051358.html
Copyright © 2020-2023  润新知