首页 > 代码库 > Nginx作为负载均衡服务器(Windows环境)

Nginx作为负载均衡服务器(Windows环境)

  一个最简单的负载均衡测试,不涉及到session复制,只是将请求分配到不同的服务器上去而已。

1、创建一个简单的web应用。只有一个index.jsp页面,,内容如下。

<%@ page language="java"  pageEncoding="UTF-8"%><!DOCTYPE HTML><html>  <head>    <title>Index</title>  </head>  <body>            Hello,Nginx!            <%                System.out.println("*****************Nginx做负载均衡将请求分配到本服务器*****************");             %>  </body></html>

  打印一句话就ok,能在不同服务器打印出来,说明请求被分配到不同的服务器了。

2、配置nginx.conf

  1)在http节点中添加如下内容

    upstream localhost {        server localhost:18080;//tomcat服务器-1号        server localhost:28080;//tomcat服务器-2号    }

  2)在http节点中的server节点内容添加如下内容

location / {        proxy_pass http://localhost;}

3、将web应用分别部署到两台tomcat服务器,启动两台tomcat,启动nginx。然后访问http://localhost/index.jsp,看看两台tomcat服务器打印的内容

 

4、以上是默认使用轮询的方式实现负载均衡,还有另外两种方式

  Least connected(将请求分配到最空闲的服务器上)

upstream localhost {        least_conn;        server localhost:18080;        server localhost:28080;}        

  ip_hash (基于客户端ip将请求分配到一些固定的服务器上)

upstream localhost {        ip_hash;        server localhost:18080;        server localhost:28080;}

 

5、在轮询的方式中,还可以指定服务器接受请求的权重

  

upstream localhost {        server localhost:18080 weight=2;        server localhost:28080 weight=1;    }

 

Nginx作为负载均衡服务器(Windows环境)