Nginx+Tomcat负载均衡群集

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx+Tomcat负载均衡群集相关的知识,希望对你有一定的参考价值。

nginx是一款非常优秀的http服务器软件,它能够支持高达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定

Tomcat服务器是一个免费的开发源代码的Web应用服务器,属于轻量级应用服务器,在并发用户不是很多时较为适用,是开发和调试JSP程序的首选

这里我将做以Nginx作为负载均衡器,Tomcat作为应用服务器的负载集群


实验环境:Nginx服务器 CentOS7 ip 192.168.133.131

                 tomcat1服务器 CentOS7 ip 192.168.133.128

                 tomcat2服务器 CentOS7 ip  192.168.133.130

                 win7客户机  ip 192.168.133.129


Tomcat和Nginx软件包:https://pan.baidu.com/s/1gN5FItTmemmeiKGR18qBTA   密码: f3sn


技术分享图片

技术分享图片

技术分享图片

技术分享图片

一、首先先部署一台tomcat服务器,在安装这个服务之前还需要先安装JDK环境

     1将JDK软件包进行挂载

     2将挂载后的软件包解压到opt目录下,为了让系统可以执行这个服务,我将解压后的安装包放到local目录下并命名为java

     3切换到/etc/profile.d目录下创建一个java的启动脚本,建立内容如上图所示

     4脚本建立完成后执行source命令执行这个脚本


技术分享图片

技术分享图片

二、为了验证这个JDK环境是否正确,我在/opt目录下建一个测试文件,接着运行这个java文件,可以看到JDK环境正常


技术分享图片

技术分享图片

技术分享图片

技术分享图片

三、JDK环境安装后就可以安装Tomcat服务

     1将tomcat软件包解压到/opt目录下

     2将解压后的文件放到系统可以执行的local目录下,命名为tomcat8

     3切换到/tomcat8/bin目录下,这里面放的都是可执行文件,其中startup.sh是启动这个服务的执行文件,shutdown.sh是关闭这个 服务的执行文件

     4这里我执行startup.sh开启服务,接着关闭防火墙和setenforce

     5用win7访问这个服务可以看到tomcat的网站首页


技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

四、接着我在tomcat1服务器上建一个测试网页

     1在tomcat1服务器上建一个网页站点,在这个站点下建立一个首页,注意这里的首页类型为index.jsp具体配置过程我都在图中指明

     2网站建立完成后还需要在主配置文件下指明这个站点目录

     3配置完成后就可以重启服务了

     4用win7进行访问,可以看到我所写的那条输出语句


技术分享图片

技术分享图片

五、接着我再开启第二台tomcat服务器,配置过程和第一台一模一样,但这里为了加以区分我将测试网站的输出语句改为了www.test2


技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

六、tomcat服务器建立完成后我开始建一台nginx服务器

     1安装所需要的环境,包括gcc gcc-c++  zlib-devel  pcre-devel  openssl-devel

     2将安装包进行挂载和解压

     3要执行nginx服务首先要有一个管理用户,这里我建一个名为www的用户

     4在nginx目录下添加所需要的安装模块

  --with-file-aio             #启用file-aio支持

  --with-http_stub_status_module #启用ngx_http_stub_status_module支持(获取nginx自上次启动以来的工作状态)

  --with-http_gzip_static_module #启用ngx_http_gzip_static_module支持(在线实时压缩输出数据流)

  --with-http_flv_module      #启用ngx_http_flv_module支持(提供寻求内存使用基于时间的偏移量文件)

  --with-http_ssl_module        #启用ngx_http_ssl_module支持(使支持https请求,需已安装openssl)

     5这些模块安装完成后再执行make && make install 命令将文件变为可执行文件


技术分享图片

技术分享图片

技术分享图片

           

  技术分享图片         

七、所需要的模块安装完成后就需要用该服务器指定负载均衡的服务器列表,这里我指定的是两台tomcat服务器,接着location模块下添加上图语句用来调用服务池

      配置完成后切换到nginx/sbin目录下执行./nginx -t 检查配置文件是否有错误,确定无误之后便可以关闭防火墙并且启动nginx服务


技术分享图片

技术分享图片

最后我用win7客户机访问这台nginx服务器,可以看到第一次显示的是tomcat1的网页,第二次显示的是tomcat2的网页。

以上是关于Nginx+Tomcat负载均衡群集的主要内容,如果未能解决你的问题,请参考以下文章

Nginx + Tomcat 实现 负载均衡 和 动静分离群集

Nginx+Tomcat负载均衡群集(实战可跟做!)

Nginx+Tomcat负载均衡群集+反向代理

纯干货CentOS7上基于nginx搭建tomcat9.0版本的负载均衡群集管理

Nginx+Tomcat负载均衡群集

Nginx + Tomcat 负载均衡群集 内附源码包