美文网首页
nginx配置反向代理

nginx配置反向代理

作者: sunpy | 来源:发表于2019-05-08 14:51 被阅读0次

    反向代理配置

    location / {
        proxy_pass http://sunpy.com;
        root   html;
        index  index.html index.htm;
     }
    

    说明:proxy_pass指令,代理后端服务器的地址。

    配置代理常用指令

    proxy_redirect off;
    重写后端服务器的location和refresh头。
    proxy_set_header Host $host;
    重写发送给后端服务器的请求头内容。
    proxy_connect_timeout 300;
    代理服务器接收请求到连接后端服务器的最长等待时间。
    proxy_buffer_size 4k;
    后端响应的缓冲区数量和大小。
    proxy_buffers 4 32k;
    请求后端的缓冲区数量和大小。
    proxy_busy_buffers_size 64k;
    当代理服务器忙时,缓冲区的最大值。
    proxy_send_timeout 300
    将超时与请求传输到代理服务器分配。
    proxy_read_timeout 300
    NGINX等待获取请求响应的时间。

    upstream

    ip_hash:指令通过ip地址生成hash值将客户端均匀地连接到所有服务器。
    keepalive:指令指定每个worker进程缓存后端服务器的长连接数。
    least_conn:指令激活负载均衡算法,使用最少连接数。
    server:
    ---- weight:设置服务器的优先级。
    ---- fail-timeout、max-fails:在fail-timeout时间内出现了max-fails次数的连接失败,nginx则认为该后端服务器已经挂掉了。
    ---- backup:指定服务器的备用机器,只有非backup机器挂掉,才会接收请求。
    ---- down:指定当前的服务器不再接收请求。

    nginx负载均衡策略

    1. 轮询机制(默认)
      就是按照时间顺序将请求发送到不同的server。
      例:使用默认的轮询,nginx将请求分发到不同的server。
      修改tomcat的index.jsp,打印当前机器的server。
    request ip address : <%=InetAddress.getLocalHost().getHostAddress().toString() %>
    
    upstream sunpy.com {
            server  106.12.42.149:8089;
            server  47.99.197.133:8089;
    }
    

    1. 通过ip生成hash值均匀分配到服务器 ip_hash
    upstream sunpy.com {
            ip_hash;
            server  106.12.42.149:8089;
            server  47.99.197.133:8089;
    }
    
    1. 使用最少连接数 least_conn
    upstream sunpy.com {
            least_conn;
            server  106.12.42.149:8089;
            server  47.99.197.133:8089;
    }
    

    参考:
    http://www.nginx.cn/doc/standard/httpproxy.html
    精通nginx(第二版)

    相关文章

      网友评论

          本文标题:nginx配置反向代理

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