负载均衡的配置

最少你得有3台服务器,负载均衡服务器,web1,web2

负载均衡服务器    10.10.152.1     lnmp搭建好
web1             10.10.152.2      lnmp搭建好
web2             10.10.152.3    lnmp搭建好

(1)先保证web1和web2都能正常访问
在/usr/local/nginx/html目录下新建一个文件 index.php
内容: echo '111';
在/usr/local/nginx/html目录下新建一个文件 index.php
内容:echo '222';
访问ip地址可以正常的访问到 111 和 222
(2)配置负载均衡服务器10.10.152.1
新建一个虚拟主机配置文件

vi  /usr/local/nginx/conf/vhost/www.fuzai.com.conf

写入如下内容:

upstream pools{ #pools名字可以自己任意指定
   server 10.10.152.2:80;
   server 10.10.152.3:80;
}
server {
   server_name www.fuzai.com;
   location / {
     proxy_pass  http://pools; #同上
     proxy_set_header Host $host;
     proxy_set_header X-Forwarded-For $remote_addr;
    }
}

(3)在windows下面打开 hosts文件

10.10.152.1   www.fuzai.com  //将域名映射到负载均衡服务器中

(4)配置web1和web2

vi /usr/local/nginx/conf/nginx.conf
将  server_name 改为  www.fuzai.com

(5)重启每个nginx

service nginx restart

(6)在windows浏览器中输入 www.fuzai.com 就会看到 111 和 222 的切换

upstream 支持的负载均衡算法

1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

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

upstream bakend {
    server 192.168.159.10 weight=10;
    server 192.168.159.11 weight=10;
}

3、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
例如:

upstream resinserver{
    ip_hash;
    server 192.168.159.10:8080;
    server 192.168.159.11:8080;
}

4、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。

upstream resinserver{
    server server1;
    server server2;
    fair;
}

5、url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
例:在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法

upstream resinserver{
    server squid1:3128;
    server squid2:3128;
    hash $request_uri;
    hash_method crc32;
}

upstream 支持的状态参数

在HTTPUpstream模块中,可以通过server指令指定后端服务器的IP地址和端口,同时还可以设定每个后端服务器在负载均衡调度中的状态。常用的状态有:
down,表示当前的server暂时不参与负载均衡。
weight 默认为1.weight越大,负载的权重就越大。
backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻。
参数设置方式:

upstream pools{
    ip_hash;
    server 192.168.10.13:80;
    server 192.168.10.14:80  down;
    server 192.168.10.15:8009  max_fails=3  fail_timeout=20s;
    server 192.168.10.16:8080;
}

如若时光萧瑟去丶
111 声望9 粉丝

weakChickenPeng.