nginx(三)反向代理和负载均衡
正向代理概念:比如在学校要上网,在学校内网是一个内网ip,需要连上公网就需要一个正向代理服务器。
反向代理概念: 看下图(Nginx只做请求的转发,后台有多个http服务器提供服务,nginx的功能就是把请求转发给后面的服务器,决定把请求转发给谁。)
负载均衡:
1:首先安装两个tomcat,安装好以后的访问地址:
tomcat1: http://192.168.0.101:8080
tomcat2: http://192.168.0.114:8080
2:修改本地host文件,模拟域名绑定服务器dns解析情况:
3: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的高可用:
解决高可用的方案就是添加冗余,使用keepalived实现一个nginx主备,当主的nginx挂掉的时候能够动态的切换到备用的nginx上去,保证nginx的高可用。