加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

Nginx反向代理实现Tomcat集群服务器的负载均衡

发布时间:2018-10-05 04:27:51 所属栏目:外闻 来源:今日头条
导读:副标题#e# 【新品产上线啦】51CTO播客,随时随地,碎片化学习 前言: 一.Nginx简介 Nginx 是一个开源的高性能的HTTP和反向代理服务器,用于实现资源缓存、web server负载均衡等功能,其特点是占有内存少,并发能力强。使用nginx网站用户有:百度、京东、新
副标题[/!--empirenews.page--] 【新品产上线啦】51CTO播客,随时随地,碎片化学习

前言:

一. Nginx简介

Nginx 是一个开源的高性能的HTTP和反向代理服务器,用于实现资源缓存、web server负载均衡等功能,其特点是占有内存少,并发能力强。使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。是目前最流行的反向代理服务器之一。

二. Tomcat简介

Tomcat是一个免费的开源的纯JAVA开发的Web 应用服务器,可以充当轻量级JAVAEE项目的应用服务器,它还是一个运行Servlet和JSP的web容器。

三. 为什么要配置服务器集群

服务器集群:是指将很多服务器集中起来一起进行同一种服务,在客户端看来就象是只有一个服务器。 集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。

集群目的:一方面,对于对于日访问量或者并发访问量十分巨大的网站来说,如果只部署一台服务性能十分低下,极有可能对暴风雨般的请求(2016年双十一天猫淘宝几十万的峰值并发请求)招架不住而随时被挂掉,对企业来造成重大损失。有必要多台服务器来分担这种并发请求的压力。另一方面,群集化操作可以减少单点故障数量,就算一台服务器出现了故障,其他服务器正常运行,保证企业的日常运作不受影响,这是非常有必要的事情。并且实现了群集化资源的高可用性。

Nginx反向代理实现Tomcat集群服务器的负载均衡

图片来自包图网

四. 负载均衡

对于集群来说,负载均衡意味着当反向代理服务Nginx接受到用户发起的请求后,会把请求按照权重均分到不同的集群服务器上,尽可能让每个服武器均摊请求,减少服务器的压力,提高性能,防止由于高并发导致的服务器宕机或者瘫痪等。

应用架构:

Nginx反向代理实现Tomcat集群服务器的负载均衡

准备工作:

说明:(1)测试环境为windows

(2)由于tomcat需要jdk,因此需要安装jdk并配置环境变量

(3)下载Nginx并解压(Nginx下载地址:http://nginx.org)

(4)下载Tomcat (Tomcat下载地址: http://tomcat.apache.org/download-70.cgi)

(5)准备使用两个tomcat服务器,一个Nginx服务器

(6)同一个测试web项目(只包含一个jsp页面)打成war包,分别放在tomcat1和tomcat2的webapps目录下

Nginx反向代理实现Tomcat集群服务器的负载均衡

主要内容

搭建Nginx服务器

将下载好的Nginx服务器压缩包放到任意盘(比如D盘)进行解压,解压后目录结构为:图(1)

Nginx反向代理实现Tomcat集群服务器的负载均衡

成功。

此时:在浏览器中输入本机环回地址测试:http://127.0.0.1

若出现图(2),则说明nginx启动成功,服务器正常运行。

Nginx反向代理实现Tomcat集群服务器的负载均衡

注意:由于nginx的默认端口为80,因此要确保本机没有其他应用程序占用该端口。

至此我们可以进行下一步工作

搭建Tomcat服务器

在搭建Tomcat服务器前,首先需要在安装jdk,因为Tomcat是java写的,而java运行需要jdk。该步骤不是本文讨论的重点,略去。

安装好jdk后,需要将Tomcat服务器压缩文件解压两份,分别取名为Tomcat1和Tomcat2。

如图(3)tomcat集群服务器所示:

Nginx反向代理实现Tomcat集群服务器的负载均衡

在真实环境中,该服务器可以安装到不同的主机中。

其中每个服务器目录结构为:

图(4)

Nginx反向代理实现Tomcat集群服务器的负载均衡

在图(4)的Conf文件夹下面的配置文件server.xml需要将两个tomcat服务的端口改为本机唯一。(若是不同主机则不用修改,默认端口为8080)

将tomcat1的server.xml中的服务端口,连接器端口不动(默认)

将tomcat2的server.xml中的服务端口改为8006,连接器端口改为依次8090,8010

修改server.xml的文件位置为第22行,第70行,第91行:修改后的效果图(5)为:

Nginx反向代理实现Tomcat集群服务器的负载均衡

Nginx反向代理实现Tomcat集群服务器的负载均衡

以上步骤完成即可进行下一步

1.准备测试项目

准备同一个测试web项目,该项目只有一个index.jsp文件。只是在该文件中写一段分别代表两个不同服务器的文字,以示区别:

在准备放入tomcat1的项目的index.jsp中写入:“这是四川展谊科技,我部署在tomcat1中!”

在准备放入tomcat2的项目的index.jsp中写入:“这是四川展谊科技,我部署在tomcat2中!”

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读