nginx 负载均衡

135 阅读1分钟

引用

www.hsslive.cn/article/132

nginx 负载均衡

nginx 负载均衡就是将请求代理到不同的服务器,以此来将压力分担到不同的服务器。理论上所有的负载均衡服务器提供的服务都是一样的。

测试:project.hsslive.cn/balance/,每次请求,nginx都会代理到不同的地址。

这里只是简单的模拟负载均衡(他们提供的服务其实是不一样的)

配置

访问:project.hsslive.cn/balance/,nginx 会根据不同的权重(weight),代理到不同的地址

http {
    # 允许最大上传的大小
    client_max_body_size 50m;
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;

    upstream testServer {
        server localhost:3100 weight=3;
        server localhost:3200 weight=10;
        server localhost:3300 weight=5;
    }

    # project.hsslive.cn 80端口
    server {
        listen 80;
        server_name project.hsslive.cn;

        # 开启gzip,关闭用off
        gzip on;
        # 选择压缩的文件类型,其值可以在 mime.types 文件中找到。
        gzip_types text/plain text/css application/json application/javascript
        # 是否在http header中添加Vary: Accept-Encoding,建议开启
        gzip_vary on;
        # gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间,推荐6
        gzip_comp_level 6;

        # 模拟负载均衡
        # http://project.hsslive.cn/balance/
        location = /balance/ {
            proxy_pass http://testServer/;
        }
    }
}

参考

www.bilibili.com/video/BV1yS…