美文网首页
[Nginx]反向代理与负载均衡

[Nginx]反向代理与负载均衡

作者: 陈大集 | 来源:发表于2016-01-07 22:39 被阅读110次

    在进行负载均衡的配置前,需要先理解下面几个概念

    正向代理

    A访问不了服务B,而服务器C可以访问服务器B,A可以访问C,那么A先访问C,再通过C去访问B,C即为代理服务器,这种方式称为正向代理,特点是明确知道A要访问哪一个网站。

    反向代理

    A要访问某个服务B,而B服务需要通过C服务器,B服务可能有多台服务器,C通过某种策略将请求转发给B服务器集群中的一台,而A并不知道自己访问的是哪一个服务器,这种方式称为反向代理。

    负载均衡

    在反向代理的前提下,A要访问B服务,而B服务器有多台,通过代理服务器C将请求转发给不同的服务器,使得单独一台服务器的负担减轻(B服务器集群大致均分请求,使得服务器不因高并发而奔溃),这种方式成为负载均衡。

    那么,如何在Nginx中配置负载均衡呢?
    方法很简单,只需在配置文件中增加如下代码

    worker_processes  1;
    events {
        worker_connections  1024;
    }
    http{
        #服务器列表,helloProject可以自定义名称
        upstream helloProject{
            #如果开启ip_hash,则会根据用户之前的访问映射到对应服务器
            #ip_hash;
            server 123.45.678.123:80;
            server 123.45.678.124:80;
            #如果使用weight字段,则会赋予不同权重
            # server 123.45.678.124:80 weight=2;
        }
        #当访问8080接口时,将请求均衡转发到helloProject列表中的一台服务器
        server{
            listen    8080;
            location / {
                proxy_pass  http://helloProject;
            }
        }
    }
    
    

    相关文章

      网友评论

          本文标题:[Nginx]反向代理与负载均衡

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