Nginx负载均衡配合keepalived服务案例实战

Nginx负载均衡配合keepalived服务案例实战;

在lb01和lb02上配置nginx负载均衡

Nginx负载均衡配置:cat nginx.conf

worker_processes1;

error_loglogs/error.log;

events {

    worker_connections  1024;

}

http {

    server_tokens off;

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

upstreamwww_server_pools{

server10.0.0.9:80 weight = 1;

server10.0.0.10:80 weight = 1;

}

server {

        listen       10.0.0.12:80;

        server_name  www.etiantian.org;

        location/forum/{

       proxy_pass http: www_server_pools;

       proxy_set_header Host $host;

       proxy_set_header X-Forwarded-For$remote_addr;  

                          }

}

}此代理紧代理了www.etiantian.org域名。

在lb01和lb02上配置keepalived服务。

把配置keepalived实现单实例单IP自动接管的keepalived.conf配置到这里面。

在客户端hosts文件中把www.etiantian.org域名解析到VIP10.0.0.12上。

启动nginx,lsof –i:80 ip addr|grep 10.0.0.12 有内容显示

测试:在浏览器中输入www.etiantian.org显示两种访问结果,停掉lb01服务器,观察lb02服务器是否接管VIP10.0.0.12:ip addr|grep 10.0.0.12有内容显示,在浏览器中显示一样。

 

配置Realserver

为Realserver的某块网卡创建启动脚本,脚本内容如下:

#virealserverd      #!/bin/bash

  VIP=172.28.14.227

   ./etc/rc.d/init.d/functions

        case "$1" in

        start)

            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

            ifconfig lo:0 $VIP broadcast $VIPnetmask 255.255.255.255 up

            /sbin/route add -host $VIP dev lo:0

            sysctl -p > /dev/null2>&1

            echo "realserver startOK"

            ;;

        stop)

            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

            ifconfig lo:0 down

            /sbin/route del $VIP > /dev/null2>&1

            echo "realserver stoped"

            ;;

        *)

            echo "Usage:$0{start|stop}"

            exit 1

        esac

        exit 0

        说明:注意脚本中红色部分,每块网卡绑定一个虚拟IP地址,如果绑定多个虚拟IP,则需要为每块网卡创建一个脚本,并且指定lo:X(比如:lo:0,lo:1等),另外,.和/etc/rc.d/funtions之间有空格。启动keepalived服务,并执行上述脚本,然后用ip a能确认是否有VIP地址。输入ipvsadm-Ln查看LVS工作状态。停止MASTER的keepalived服务,BACKUP能接管VIP地址,再次启动MASTER的keepalived服务,MASTER又能再一次接管VIP地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值