Nginx的反向代理和负载均衡例子

Nginx反向代理使用proxy,负载均衡使用upstream

配置反向代理proxy:proxy_pass  url地址

配置负载均衡upstream: upstream  xxx {  server1 ....; server2 ......;}

官方配置文档:http://nginx.org/en/docs

1、配置反向代理,拦截.jsp结尾的请求转向到tomcat服务器,假如我在113机子启动一个tomcat服务。

      ①用正则匹配 \.jsp$

      这里可以联系到动静分离,请求动态的都转到tomcat。例如jsp,controller的访问,一般以.do,.action结尾,可以这么写:\(.jsp|.action|.do)$

      ②反向代理用到 proxy_pass

      ③在192.168.1.113启动一个tomcat服务,并在ROOT下弄一个test.jsp作为测试页面。

访问试试:

 

注意:我们可以看到,因为是通过nginx代理的,所以request获取的remoteAddr为nginx服务器的ip地址,那么我们怎么才能获取真正访问此uri的ip地址呢。我们通过proxy_set_header来往header里添加请求参数。格式:proxy_set_header 参数名 参数值

下面修改配置,修改后记得重启nginx服务:

在访问看看:

2、负载均衡:设定负载均衡的服务器列表,分配权重。

①我们弄两个tomcat服务器,一个是192.168.1.112:8080,一个是192.168.1.113:8080

②权重都是1就ok啦。测试一下

③权重越大被分配到的几率越大

④使用upstream

④113的test.jsp显示Test1 Page,112的test.jsp显示Test2 Page

测试:可以发现,Test1 Page和Test2 Page重复访问到。

 

猜你喜欢

转载自blog.csdn.net/Howinfun/article/details/83011114