美文网首页
nginx的基础知识二之负载均衡

nginx的基础知识二之负载均衡

作者: 海里的沙丁鱼 | 来源:发表于2018-01-15 18:13 被阅读0次

为了解决服务器负载问题,除了采取搭建多台服务器设备来解决外,还可以采用nginx来处理负载均衡。

1.轮询 根据nginx配置文件中的顺序,依次把客户端的web请求分发到不同的后端服务器.如果后端服务器down掉,能自动剔除。

首先在/etc/nginx/conf.d里,添加如下代码:

http{
       
    upstream sampleapp{
        server 192.168.160.13:8989;
        server 192.168.139.11:7878

    }
        

之后在/etc/nginx/site-available/blog里添加

    server{
        listen 80;
        ..
        location / {
            proxy_pass http://sampleapp;
        }
    }


备注:这里的blog文件是我复制了一份原来的default文件,用于配置反向代理的。

2.最少连接

http{
    upstream sampleapp{
        least_conn;
        server 192.168.160.22:8989;
        server 192.169.23.33:2323;
    }
    
    server {
        listen 80;
        ..
        location / {
            proxy_pass http://sampleapp;
        }
    }

3.ip地址哈希 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

http{
    upstream sampleapp{
        ip_hash;#判断是否同一个session,同一个session的话,访问的永远是一个
        server 192.168.160.33:8989;
        server 192.145.133.23:9999;
    }
    server{
        listen 80;
        ..
        location / {
            proxy_pass http://sampleapp
        }
    }

4.基于权重的负载均衡

http{
    upstream sampleapp{
       server 192.168.160.34:8989 weight=2;#表示2/3的概率访问这个
       server 192.168.160.23:9999;
       server 192.168.160.23:9888 down;//down 表示单前的server暂时不参与负载
       server 192.168.160.23:7777 backup//backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
    }
    server {
        listen 99;
        ..
        location / {
            proxy_pass http://sample
        }
    }

相关文章

网友评论

      本文标题:nginx的基础知识二之负载均衡

      本文链接:https://www.haomeiwen.com/subject/xwpdoxtx.html