nginx实现均衡负载

1.配置均很负载的服务端地址,http{}目录内

# 均衡负载限制
    upstream gymserver{
             #weight 值越大,负载权重越大,请求次数越多           
             #max_fails 允许请求失败的次数,超过次数后,转发到下一个服务器,当有max_fails个请求失败,就表示后端的服务器不可用,默认为1,将其设置为0可以关闭检查   
             #fail_timeout 指定时间内无响应则失败, 在以后的fail_timeout时间内nginx不会再把请求发往已检查出标记为不可用的服务器
             #down 表示当前server不参与负载
             #backup 其他非backup server都忙的时候,backup server作为备用服务器,将请求转发到backup服务器
        server 127.0.0.1:8070 weight=1 max_fails=2 fail_timeout=30s;
        server 127.0.0.1:8071 weight=2 max_fails=2 fail_timeout=30s;
    }

2.配置需要代理的地址

server {
        listen          80;
        server_name     api.baidu.com;
        # 服务器文件上传大小限制
        client_max_body_size 10M;
        location / {
            proxy_pass   http://gymserver;
        }
    }

3.只需要这么简单的配置即可实现均衡负载(全配置截图如下)

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    
    # 均衡负载配置
    upstream gymserver{
             #weight 值越大,负载权重越大,请求次数越多           
             #max_fails 允许请求失败的次数,超过次数后,转发到下一个服务器,当有max_fails个请求失败,就表示后端的服务器不可用,默认为1,将其设置为0可以关闭检查   
             #fail_timeout 指定时间内无响应则失败, 在以后的fail_timeout时间内nginx不会再把请求发往已检查出标记为不可用的服务器
             #down 表示当前server不参与负载
             #backup 其他非backup server都忙的时候,backup server作为备用服务器,将请求转发到backup服务器
        server 127.0.0.1:8070 weight=1 max_fails=2 fail_timeout=30s;
        server 127.0.0.1:8071 weight=2 max_fails=2 fail_timeout=30s;
    }
    
    
    server {
        listen       80 default_server;
        server_name  _;
       location / {
            root   html;
            index  index.html index.htm;
        }
    }


    server {
        listen          80;
        server_name     baidu.com;
        root            /www/html/jsfadmin;

        location / {
            try_files $uri $uri/ /index.html;
        }
    }
    
    
    server {
        listen          80;
        server_name     www.baidu.com;
        root            /www/html/jsfadmin;

        location / {
            try_files $uri $uri/ /index.html;
        }
    }
    
    
    server {
        listen          80;
        server_name     api.baidu.com;
        # 服务器文件上传大小限制
        client_max_body_size 10M;
        location / {
            proxy_pass   http://gymserver;
        }
    }

}

 

posted @ 2021-05-06 15:15  明年上初中  阅读(71)  评论(0编辑  收藏  举报