nginx3

Yum安装更简单。安装并启动keepalived,表示安装成功。有3个进程。

etckeepalivedkeepalived.conf:

备的keepalived配置文件:

! Configuration File for keepalived    //!、#是注释

global_defs {  //全部的配置,几乎不用。
   notification_email {
     acassen@firewall.loc   //keepalived节点宕机了,报警的email收件人
     failover@firewall.loc  //keepalived节点宕机了,报警的email收件人
     sysadmin@firewall.loc  //keepalived节点宕机了,报警的email收件人
   }
   notification_email_from Alexandre.Cassen@firewall.loc  //发件人
   smtp_server 192.168.200.1   //邮件服务器的地址
   smtp_connect_timeout 30     //邮件服务器的超时时间
   router_id LVS_02        //相当于mysql的server id,不同的keepalived不能一样,
}

vrrp_instance VI_1 {    //keepalived的一个实例,或者说是VRRP的一个实例,VI_1是实例的名字(不要改)
    state BACKUP        //状态:主,备的不一样其余跟主的一样
    interface eth0      //通信端口,virtual_ipaddress里面的ip绑定到eth0
    virtual_router_id 51   //实例的id,一个这个配置文件可以有20多个实例,备的要跟主的一样,
    priority 100       //竞选时候的优先级。备的要小50,备的不一样其余跟主的一样
    advert_int 1       //心跳的间隔
    authentication {   //keepalived之间通过密码通信,keepalived对之间的密码要一样。
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {//vip功能,keepalived的ip
        //192.168.200.16/24
        192.168.200.17/24
        //192.168.200.18/24
    }
}

主的keepalived的配置文件:

! Configuration File for keepalived    //!、#是注释

global_defs {  //全部的配置,几乎不用。
   notification_email {
     672530440@qq.com   //keepalived节点宕机了,报警的email收件人  
}
   notification_email_from Alexandre.Cassen@firewall.loc  //发件人
   smtp_server 192.168.200.1   //邮件服务器的地址
   smtp_connect_timeout 30     //邮件服务器的超时时间
   router_id LVS_01         //相当于mysql的server id,不同的keepalived不能一样,
}

vrrp_instance VI_1 {    //keepalived的一个实例,或者说是VRRP的一个实例,VI_1是实例的名字(不要改)
    state MASTER        //状态:主,备的不一样其余跟主的一样
    interface eth0      //通信端口,virtual_ipaddress里面的ip绑定到eth0
    virtual_router_id 51   //实例的id,一个这个配置文件可以有20多个实例,备的要跟主的一样,
    priority 150       //竞选时候的优先级。备的要小50,备的不一样其余跟主的一样
    advert_int 1       //心跳的间隔
    authentication {   //keepalived之间通过密码通信,keepalived对之间的密码要一样。
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {//vip功能,keepalived的ip
        192.168.200.17/24    //子网掩码是24位
    }
}

 

keepalived配置ip

2边是一个实例,只是主备之分。

配合nginx服务:

Nginx默认监听80端口,ip是所有的IP。对外提供服务不是网卡的iplkeepalivedip。先把nginx代理调整好再配置keepalived

keepalived之间的心跳,应该单独拉一条线或者用串口直接通信,不容易出现互相找不着对方。

global_defs {
   notification_email {
    49000448-@qq.com
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_01
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
     10.0.0.17/24
    }
}
vrrp_instance VI_2 {
    state BACKUP
    interface eth0
    virtual_router_id 52
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
     10.0.0.18/24
    }
}

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

upstream static_pools {
    server 10.0.0.9:80 weight=5 max_fails=10 fail_timeout=10s;
}

upstream dynamic_pools {
    server 10.0.0.10:80 weight=5;
}
    server {
        listen       80;
        server_name  www.etiantian.org;
        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://dynamic_pools;
        include proxy.conf;
        }
        location ~ .*.(gif|jpg|jpeg|png|bmp|swf|css|js)$ {
    proxy_pass http://static_pools;
    include proxy.conf;
}
    }
}
原文地址:https://www.cnblogs.com/yaowen/p/9047781.html