天天看点

nginx(三)反向代理和负载均衡

nginx(三)反向代理和负载均衡

正向代理概念:比如在学校要上网,在学校内网是一个内网ip,需要连上公网就需要一个正向代理服务器。

反向代理概念: 看下图(Nginx只做请求的转发,后台有多个http服务器提供服务,nginx的功能就是把请求转发给后面的服务器,决定把请求转发给谁。)

  

nginx(三)反向代理和负载均衡

负载均衡:

  1:首先安装两个tomcat,安装好以后的访问地址:

      tomcat1:  http://192.168.0.101:8080

      tomcat2:  http://192.168.0.114:8080

  2:修改本地host文件,模拟域名绑定服务器dns解析情况:

      

nginx(三)反向代理和负载均衡

  3:Nginx配置:

    

nginx(三)反向代理和负载均衡

    这里设置了一个upstream   并且命名为myServer

    在server节点绑定了域名www.ganbo.xin的虚拟主机,监听80端口,ROOT节点使用proxy_pass代替,转发到http://myServer的upstream.

    注意这里的http://myServer中的http://前缀不能少些。upstream中配置指向了两台服务器192.168.0.101:8080和192.168.114:8080

    并且制定了他们的负载均衡权重分表为1和2,也就是说平均没三次访问都有一次负载到101服务器和2次负载到114服务器.

    这样就配置了有访问nginx二代理到了内网的服务器这里就叫做反向代理,内网两台和多台服务器提供同一个服务就叫做负载均衡。

    访问:www.ganbo.xin出现页面:

nginx(三)反向代理和负载均衡

    访问到其中的一台服务器,然后刷新访问到另外一台服务器。

nginx(三)反向代理和负载均衡

            注意:

                

nginx(三)反向代理和负载均衡

 Nginx的高可用:

      解决高可用的方案就是添加冗余,使用keepalived实现一个nginx主备,当主的nginx挂掉的时候能够动态的切换到备用的nginx上去,保证nginx的高可用。