代码改变世界

nginx负载均衡 + keepalived高可用

2019-12-30 09:34  unique-yichen  阅读(150)  评论(0)    收藏  举报

Nginx通过反向代理实现负载均衡,Nginx是一个工作在7层应用层负载均衡服务器。

Nginx负载均衡是通过upstream模块来实现的,内置实现了三种负载策略。

 

三种策略:

 

轮循(默认) 

 

Nginx根据请求次数,将每个请求均匀分配到每台服务器

 

指定权重(加权轮询)

 

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。。

 

IP Hash

 

绑定处理请求的服务器。第一次请求时,根据该客户端的IP算出一个HASH值,将请求分配到集群中的某一台服务器上。后面该客户端的所有请求,都将通过HASH算法,找到之前处理这台客户端请求的服务器,然后将请求交给它来处理。

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

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

upstream vfast  {

        server 192.168.18.252;  后端的真实web服务器

        server 192.168.18.253;  后端的真实web服务器

}

    server {

        listen       80;

        server_name  localhost;

        location / {

        #    root   html;

        #    index  index.html index.htm;

                proxy_pass http://vfast; 调用的upstream 定义的vfast

        }

    }

}

 

在主服务器上安装keepalived   这里做的是mysql的实例

#yum -y install keepalived

编辑配置文件

# vim /etc/keepalived/keepalived.conf

 

 

 

编写kill_keepalived.sh

#vim /root/kill_keepalived.sh

kill_keepalived.sh脚本的内容

 

#chmod +x /root/kill_keepalived.sh

 

# service keepalived restart

#service iptables stop

#setenforce 0

 

查看主是否生成VIP

#ip a

 

 

 

在备份服务器上安装keepalived

#yum -y install keepalived

我们可以直接复制主上的keepalived.conf配置文件修改

#scp root@192.168.189.164:/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf

 

编辑备的keepalived.conf配置文件

# vim /etc/keepalived/keepalived.conf

 

 

 

编写kill_keepalived.sh

#vim /root/kill_keepalived.sh

kill_keepalived.sh脚本的内容

 

 

 

#chmod +x /root/kill_keepalived.sh

#service keepalived restart

#service iptables stop

#setenforce 0

验证VIP是否漂移

停掉主的mysql

#service mysqld stop

然后查看主的VIP是否还存在发现只有164了,181的VIP已经没有了

 

查看备是否有VIP,发现VIP已经漂移到备主机上了