Nginx 负载均衡、nginx-proxy 模块、nginx.conf 配置

Nginx 反向代理负载均衡

目的:搭建一台 nginx 转发服务器(A),把真实的服务器放到后面,真实服务器之间实现负载均衡(B、C)

  1. 安装
    nginx 安装
  2. 简单配置转发服务器(default.conf)

    upstream nginx {
        server 192.168.80.143 weight=1;   #(B)
        server 192.168.80.144 weight=1;   #(C)
    }
    server {
    listen       80;
    server_name  localhost;   #(A)
    charset utf-8;
    location / {
        proxy_pass http://nginx;
    }
    }

    3.真实服务器项目部署吗,这个根据自身需求搭建

    nginx-proxy 模块

    详情可以看另一个例子
    修改配置文件 vim nginx.conf

    user www www;
    worker_processes 1;
    error_log logs/error.log;
    pid logs/nginx.pid;
    worker_rlimit_nofile 65535;
    events {
    use epoll;
    worker_connections 65535;
    }
    http {
    include mime.types;
    default_type application/octet-stream;
    include /usr/local/nginx/conf/reverse-proxy.conf;
    sendfile on;
    keepalive_timeout 65;
    gzip on;
    client_max_body_size 50m; #缓冲区代理缓冲用户端请求的最大字节数,可以理解为保存到本地再传给用户
    client_body_buffer_size 256k;
    client_header_timeout 3m;
    client_body_timeout 3m;
    send_timeout 3m;
    proxy_connect_timeout 300s; #nginx跟后端服务器连接超时时间(代理连接超时)
    proxy_read_timeout 300s; #连接成功后,后端服务器响应时间(代理接收超时)
    proxy_send_timeout 300s;
    proxy_buffer_size 64k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
    proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
    proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
    proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传递请求,而不缓冲到磁盘
    proxy_ignore_client_abort on; #不允许代理端主动关闭连接
    server {
        listen 80;
        server_name localhost;
        location / {
            root html;
            index index.html index.htm;
        }
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
    }
    }

    部分指令说明

    proxy_pass http://192.168.10.10;  //用于指定反向代理的服务器池
    proxy_set_header Host $hoxt;      //当后端web服务器也配置了多个虚拟主机时,需要用该header来区分反向代理哪个主机名
    prox_set header X-Forwarded-For $remote_addr    //如果后端web服务器上的程序需要获取用户ip,可以从该header头获取
    proxy_set_header http_user_agent $http_user_agent;    //判断访问端是苹果,安卓,win还是mac
    proxy_body_buffer_size            //用于指定客户端请求主体缓冲区大小,可以理解为先保存到本地在传给用户
    proxy_connect_timeout          //表示与后端服务器连接的超时时间,即发起握手等候响应的超时时间
    proxy_send_timeout          //表示后端服务器的数据回传时间,即在规定的时间内后端服务器必须传完所有的数据,否则,nginx将断开这个连接
    proxy_read_timeout          //设置nginx从代理的后端服务器获取信息的时间,表示连接建立成功之后,nginx等待后端服务器的响应时间,其实nginx已经进入后端的排队之中等候处理
    proxy_buffer_size          //设置缓冲区大小,默认,该个、缓冲区大小等于指令proxy_buffers设置的大小
    proxy_buffers              //设置缓冲区的数量和大小。nginx从代理的后端服务器获取的响应信息,会保存到缓冲区
    proxy_busy_buffers_size          //用于设置系统忙碌时可以使用的proxy_buffers大小,官方推荐为proxy_buffers*2
    proxy_tmep_file_write_size      //指定proxy缓存临时文件的大小
    proxy_next_upstream http_502 http_504 http_503 error timeout invalid_header;  //请求出错后,转向下一个节点
    nginx.conf 配置
    main                                # 全局配置
    events {                            # nginx工作模式配置
    }
    http {                                # http设置
    ....
        server {                        # 服务器主机配置
                    ....
                location {                    # 路由配置
                            ....
                    }
            }
        upstream name {                    # 负载均衡配置
                ....
        }
    }

说明:
main:用于进行nginx全局信息的配置
events:用于nginx工作模式的配置
http:用于进行http协议信息的一些配置
server:用于进行服务器访问信息的配置
location:用于进行访问路由的配置
upstream:用于进行负载均衡的配置
详情点击这里

转载于:https://blog.51cto.com/12384628/2146662

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值