如何在Nginx中利用Tomcat实现负载均衡

  介绍

这篇文章将为大家详细讲解有关如何在Nginx中利用Tomcat实现负载均衡,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

一、Nginx负载均衡实现原理

1, Nginx实现负载均衡是通过反向代理实现

反向代理(反向代理)是指以代理服务器(例:Nginx)来接受互联网上的连接请求,然后将请求转发给内部网络上的服务器(例:Tomcat),并将从服务器上得到的结果返回给互联网上请求连接的客户端,此时代理服务器(例:Nginx)对外就表现为一个反向代理服务器。
我们从客户端的视野来看,实际上客户端并不知道真实的服务提供者是哪台服务器,它只知道它请求了反向代理服务器。因此反向代理这种方式又对外隐藏了真实服务器的地址,从一定程度上降低了安全隐患。

2, Nginx配置反向代理的主要参数上游服务池名{}

作用:配置后端服务器池,以提供响应数据

proxy_pass http://服务池名

作用:配置将访问请求转发给后端服务器池的服务器处理

二,Nginx动静分离实现原理

1,动静分离原理

服务端接收来自客户端的请求中,既有静态资源也有动态资源,静态资源由Nginx提供服务,动态资源由Nginx转发至后端。

2, Nginx静态处理优势

Nginx处理静态页面的效率远高于Tomcat的处理能力
若Tomcat的请求量为1000次,则Nginx的请求量为6000次
Tomcat每秒的吞吐量为0.6米,Nginx的每秒吞吐量为3.6
Nginx处理静态资源的能力是Tomcat处理的6倍

三,Nginx + Tomcat动静分离,负载均衡配置步骤环境准备


主机操作系统IP地址所需软件Nginx ServerCentOS7192.168.109.7nginx-1.12.0.tar。gzTomcat Server1CentOS7192.168.109.22apache-tomcat-9.0.16.tar.gz jdk-8u201-linux-x64。rpmTomcat Server2CentOS7192.168.109.23apache-tomcat-9.0.16.tar.gz jdk-8u201-linux-x64。rpm

1,部署Nginx负载均衡服务器

如何在Nginx中利用Tomcat实现负载均衡”> </p> <pre类= # !/bin/bash   #脚本说明:编译安装nginx服务   #注意:使用前请将nginx-1.12.0.tar.gz放入/opt目录下      #关闭防火墙   systemctl  stop  firewalld   systemctl  disable  firewalld   setenforce  0      #安装所需开发包和编译环境,编译器   yum  -y  install  pcre-devel  zlib-devel  openssl-devel  gcc  gcc-c + +,      #创建程序用户,便于准确控制访问   useradd  -M  -s /sbin/nologin  nginx      #解压安装包   cd /opt   tar  zxvf  nginx-1.12.0.tar.gz  -C /opt/#编译安装nginx;指定安装路径,指定用户名,组名,启用模块以支持统计状态   cd /opt/nginx-1.12.0/?configure ——prefix=/usr/地方/nginx ——用户=nginx ——组=nginx ——with-http_stub_status_module ——with-file-aio ——with-http_gzip_static_module ——with-http_flv_module ——with-http_ssl_module      make ,, make 安装      #软链接便于系统识别nginx操作命令   ln  -s /usr/地方/nginx/sbin/nginx /usr/地方/sbin/#添加nginx系统服务   (单位)echo  & # 39;   描述=nginx=network.target后   (服务)   类型=分支   PIDFile=/usr/地方/nginx/logs/nginx.pid   ExecStart=/usr/地方/nginx/sbin/nginx   ExecrReload=/bin/kill  -s  HUP  MAINPID美元   ExecrStop=/bin/kill  -s  QUIT  MAINPID美元   PrivateTmp=true   (安装)   WantedBy=multi-user.target& # 39;,祝辞,/lib/systemd/系统/nginx.service      #赋权及开启服务,开启开机自启   chmod  754年,/lib/systemd/系统/nginx.service   systemctl  restart  nginx.service   systemctl  enable  nginx。以前服务

如何在Nginx中利用Tomcat实现负载均衡”> <br/> <img src= # !/bin/bash   #安装Tomcat服务      #关闭防火墙   systemctl  stop  firewalld   systemctl  disable  firewalld   setenforce  0      #安装JDK   cd /opt   rpm  -ivh  jdk-8u201-linux-x64.rpm      #设置JDK环境变量   echo  & # 39; export  JAVA_HOME=/usr/java/jdk1.8.0_201-amd64   export  CLASSPATH=: $ JAVA_HOME/lib/tools.jar: $ JAVA_HOME/lib/dt.jar   export 路径=$ JAVA_HOME/bin: $ PATH & # 39;,在/etc/profile.d/java.sh      source /etc/profile      #安装并启动Tomcat   cd /opt   tar  zxvf  apache-tomcat-9.0.16.tar.gz   mv  apache-tomcat-9.0.16 /usr/地方/tomcat/usr/local/tomcat/bin/startup.sh

如何在Nginx中利用Tomcat实现负载均衡