通俗点将, 负载均衡就是因为访问流量太大, 导致项目访问不流畅, 甚至宕掉, 所以通过一种分流的方式来缓解这种情况.
一, 工具
- nginx-1.8.0
- apache-tomcat-6.0.33
二, 目标
实现高性能负载均衡的 Tomcat 集群:
三, 步骤
1, 首先下载 Nginx, 要下载稳定版:
2, 然后解压两个 Tomcat, 分别命名为 apache-tomcat-6.0.33-1 和 apache-tomcat-6.0.33-2:
3, 然后修改这两个 Tomcat 的启动端口, 分别为 18080 和 28080, 下面以修改第一台 Tomcat 为例, 打开 Tomcat 的 conf 目录下的 server.xml:
共需修改 3 处端口:
当然第二台 Tomcat 也一样, 如下图:
4, 然后启动两个 Tomcat, 并访问, 看是否正常:
5, 然后修改上面两个 Tomcat 的默认页面 (为了区分下面到底访问的是那一台 Tomcat, 随便改一下即可):
改完以后, 进行访问, 如下图:
6,OK, 现在我们可以开始配置 Nginx 来实现负载均衡了, 其实非常的简单, 只需要配置好 Nginx 的配置文件即可:
配置如下 (这里只进行了简单的配置, 实际生产环境可以进行更详细完善配置):
核心配置如下:
7, 首先, 我们启动 Nginx:
8, 然后我们即可输入: localhost/index.jsp 查看运行状况了第一次访问, 发现访问的是 Tomcat2 上的程序: 然后刷新, 访问的还是 Tomcat2 上的程序: 再刷新, 发现变为了 Tomcat1 上的程序: 再刷新, 发现又变为了 Tomcat2 上的程序:
9. 到此, 我们利用 Nginx 已经实现了负载均衡的 Tomcat 集群. 我们不断的刷新, 发现访问 Tomcat2 的概率大概是 Tomcat1 的 2 倍, 这是因为我们在 Nginx 中配置的两台 Tomcat 的权重起的作用, 如下图:
来源: http://os.51cto.com/art/202003/613032.htm