zoukankan      html  css  js  c++  java
  • LVS+Keepalived+Nginx(Realserver) 负载

    yum install -y gcc  openssl-devel  libnl libnl-devel  libnfnetlink-devel  net-tools  vim wget

    yum install -y ipvsadm  keepalived

    systemctl enable keepalived.service

    ipvsadm -L -n

    vi /etc/sysctl.conf

    fs.file-max = 65535
    net.ipv4.ip_forward = 1
    vm.swappiness = 0

    sysctl -p

     iptables -I INPUT -p vrrp -j ACCEPT

    iptables -I INPUT -p tcp --dport 80 -j ACCEPT

    iptables -I INPUT -p tcp --dport 443 -j ACCEPT

    cat /etc/keepalived/keepalived.conf


    global_defs {
    notification_email {
    it@qq.com
    }
    notification_email_from yunwei@qq.com
    smtp_server 172.33.20.1
    smtp_connection_timeout 30
    router_id LVS_DEVEL      # 设置lvs的id,在一个网络内应该是唯一的
    }
    vrrp_instance VI_1 {
    state MASTER           #指定Keepalived的角色,MASTER为主,BACKUP为备 记得大写
    interface ens33          #网卡id 不同的电脑网卡id会有区别 可以使用:ip a查看
    virtual_router_id 51        #虚拟路由编号,主备要一致
    priority 100           #定义优先级,数字越大,优先级越高,主DR必须大于备用DR
    advert_int 1         #检查间隔,默认为1s
    authentication {        #这里配置的密码最多为8位,主备要一致,否则无法正常通讯
    auth_type PASS
    auth_pass 1111
    }
    virtual_ipaddress {
    172.33.20.100        #定义虚拟IP(VIP)为192.168.1.200,可多设,每行一个
    }
    }
    # 定义对外提供服务的LVS的VIP以及port
    virtual_server 172.33.20.100 80 {
    delay_loop 6                 # 设置健康检查时间,单位是秒
    lb_algo rr                   # 设置负载调度的算法为wlc
    lb_kind DR                   # 设置LVS实现负载的机制,有NAT、TUN、DR三个模式
    nat_mask 255.255.255.0
    persistence_timeout 0
    protocol TCP
    real_server 172.33.20.136 80 {           # 指定real server1的IP地址
    weight 10                   # 配置节点权值,数字越大权重越高
    TCP_CHECK {
    connect_timeout 10
    nb_get_retry 3
    delay_before_retry 3
    connect_port 80
    }
    }
    real_server 172.33.20.139 80 {           # 指定real server2的IP地址
    weight 10                      # 配置节点权值,数字越大权重越高
    TCP_CHECK {
    connect_timeout 10
    nb_get_retry 3
    delay_before_retry 3
    connect_port 80
    }
    }
    }

    Nginx (136/139)  ---realserver:

    vi /etc/init.d/realserver

    #虚拟的vip 根据自己的实际情况定义
    SNS_VIP=172.33.20.100
    /etc/rc.d/init.d/functions
    case "$1" in
    start)
    ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
    /sbin/route add -host $SNS_VIP dev lo:0
    echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
    echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
    echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
    echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
    sysctl -p >/dev/null 2>&1
    echo "RealServer Start OK"
    ;;
    stop)
    ifconfig lo:0 down
    route del $SNS_VIP >/dev/null 2>&1
    echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
    echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
    echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
    echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
    echo "RealServer Stoped"
    ;;
    *)
    echo "Usage: $0 {start|stop}"
    exit 1
    esac
    exit 0

    chmod 775 realserver  functions

    /etc/init.d/realserver start

  • 相关阅读:
    如何让 PADS Layout 识别到板框
    笔记:理想和挣钱
    笔记:知数据不知情况
    关于ie6下拖动滚动条时,div抖动的问题解决
    jQuery 中屏蔽浏览器的F5刷新功能
    jQuery 的append在ie下的兼容性
    协程
    进程
    操作系统的发展史
    python_控制台输出带颜色的文字方法
  • 原文地址:https://www.cnblogs.com/walkersss/p/13560752.html
Copyright © 2011-2022 走看看