博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx 负载均衡+keepalived实现双机热备
阅读量:6340 次
发布时间:2019-06-22

本文共 1789 字,大约阅读时间需要 5 分钟。

部署

ip分配 nginx192.168.1.5主机  192.168.1.6备机  浮动ip192.168.1.7

首先设置浮动ip(主备机器都要设置)

打开网卡eth0 配置好网络参数

复制eth0为eth0:1

修改vim eth0:1 

NAME = eth0:1

DEVICE = eth0:1

IPADDR = 192.168.1.7

开启转发

echo "1" > /proc/sys/net/ipv4/ip_forward

修改/etc/sysctl.conf文件,让包转发功能在系统启动时自动生效:

# Controls IP packet forwarding

net.ipv4.ip_forward = 1

重启网络

service network restart

安装keepalived

yum install keepalived -y

修改配置文件

vim /etc/keepalived/keepalived.conf

主机配置情况

global_defs {

    notification_email { 

        #baojing@163.com  设置报警

        }

    router_id LVS_DEVEL

    }

    vrrp_script chk_http_port {

        script "</dev/tcp/127.0.0.1/8087"

        interval 1

        weight -10

    }

    vrrp_instance VI_1 {

        state MASTER

        interface eth0

        virtual_router_id 51

        priority 100

        advert_int 1

        authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

    192.168.1.7

    }

    track_script {

        chk_http_port

    }

    }

备用机上面配置

global_defs {

    notification_email { 

        #baojing@163.com  设置报警

        }

    router_id LVS_DEVEL

    }

    vrrp_script chk_http_port {

        script "</dev/tcp/127.0.0.1/8087"

        interval 1

        weight -10

    }

    vrrp_instance VI_1 {

        state BACKUP

        interface eth0

        virtual_router_id 51

        priority 90

        advert_int 1

        authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

    192.168.1.7

    }

    track_script {

        chk_http_port

    }

    }

启动查看keepalived情况

killall keepalived

service keepalived start

tail -f /var/log/messages

安装nginx配置转发负载均衡

vim /usr/local/nginx/conf/nginx.conf

添加负载均衡配置

       upstream mytest {

                #least_conn;

                #ip_hash;  

            server 1.test.com weight=3 max_fails=2 fail_timeout=30s;

            server 2.test.com weight=3 max_fails=2 fail_timeout=30s;

            server 3.test.com weight=5 max_fails=3 fail_timeout=30s;

                    }

        location ^~/piwik/ {

            proxy_pass http://mytest;

            }

/usr/local/nginx/sbin/nginx -t

/usr/local/nginx/sbin/nginx 

/usr/local/nginx/sbin/nginx -s reload        重新加载配置

本文转自super李导51CTO博客,原文链接:http://blog.51cto.com/superleedo/1934461 ,如需转载请自行联系原作者

你可能感兴趣的文章
Oracle 临时表之临时表的应用问题
查看>>
Linux之进程查看与管理
查看>>
碟中谍:完成任务机房是核心
查看>>
戴尔联合微软开发私有云入门级系统
查看>>
图片轮播滚动
查看>>
selinux 引起的 Instantiating disk: failed
查看>>
关于客户端与服务端时区不同导致客户端上的时间不准问题的解决方案
查看>>
我的日常Git使用
查看>>
基于Windows AD的单点登录系统(二)
查看>>
第17章 重新登录
查看>>
[\s\S]*?懒惰模式特殊情形
查看>>
java 表现层:jsp、freemarker、velocity
查看>>
内置函数, 递归, 二分法
查看>>
SSM框架整合(IntelliJ IDEA + maven + Spring + SpringMVC + MyBatis)
查看>>
docker run配置参数
查看>>
05.GitHub实战系列~5.发布版本之分支操作+Tag讲解 2015-12-14
查看>>
组合数据类型练习,英文词频统计实例
查看>>
HDU 2017 多校联合 Contest 5
查看>>
setsockopt函数功能及参数详解
查看>>
IEnumerable
查看>>