• Nginx反向代理和负载均衡的配置


    1、反向代理配置

    反向代理也称“动静分离”,nginx不自己处理图片的相关请求,而是把图片的请求转发给其他服务器来处理.

    修改nginx部署目录下conf子目录的nginx.conf文件:

    加到server{}中

    location ~ .(jpg|jpeg|png|gif)$ {
            proxy_pass HTTP://IP:port;
    }

    反向代理导致了后端服务器接到的客户端IP,为前端服务器的IP,而不是客户真正的IP,怎么办?

    答: 代理服务器通过设置头信息字段,把用户IP传到后台服务器去.

    location ~ .(jpg|jpeg|png|gif)$ {
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_pass IP:port;
    }

    这样图片资源即可从另外一台服务器获取

    2、反向代理+负载均衡

    nginx 的 upstream默认是以轮询的方式实现负载均衡,这种方式中,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

    1:配置upstream

    upstream imageserver {
        server 192.168.1.204:8080 weight=1 max_fails=2 fail_timeout=30s;
        server 192.168.1.204:8081 weight=1 max_fails=2 fail_timeout=30s;
    }

    weight:权重,如果两台服务器都是1则是1:1分配,一个1一个2则是1:2分配

    max_fails :允许请求失败的次数默认为2.当超过最大次数时,返回proxy_next_upstream 模块定义的错误 

    fail_timeout:max_fails次失败后,暂停的时间

    2: 下游调用

    location ~ .(jpg|jpeg|png|gif)$ {
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_pass http://imageserver;
    }

    Upstream命名和服务器地址根据实际情况修改。

    另外一种方式是ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 

    upstream imageserver {
        iphash
        server 192.168.1.204:8080  max_fails=2 fail_timeout=30s;
        server 192.168.1.204:8081  max_fails=2 fail_timeout=30s;
    }
  • 相关阅读:
    洛谷 P1068 分数线划定
    LeetCode 7. Reverse Integer
    LeetCode 504. Base 7
    洛谷 P1598 垂直柱状图
    用户场景
    个人博客03
    个人博客02
    个人博客01
    《构建之法》阅读笔记03
    学习进度条(第四周)
  • 原文地址:https://www.cnblogs.com/lamp01/p/7400155.html
Copyright © 2020-2023  润新知