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服务器打印的内容

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

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

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;
}
上一篇:perl return和break


下一篇:ubuntu 卸载/安装 redis