简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡

这篇具有很好参考价值的文章主要介绍了简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、Tomcat多实例部署

1、在安装好jdk环境后,添加两例Tomcat服务

#解压安装包
cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz
 
#移动并复制一例
mv apache-tomcat-9.0.16 /usr/local/tomcat
cp -a /usr/local/tomcat /usr/local/tomcat1

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
2.添加tomcat环境变量

vim /etc/profile.d/tomcat.sh
 
#tomcat
export CATALINA_HOME1=/usr/local/tomcat
export CATALINA_BASE1=/usr/local/tomcat
export TOMCAT_HOME1=/usr/local/tomcat
 
#tomcat1
export CATALINA_HOME2=/usr/local/tomcat1
export CATALINA_BASE2=/usr/local/tomcat1
export TOMCAT_HOME2=/usr/local/tomcat1
 
#启用文件
source /etc/profile.d/tomcat.sh

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡

3.修改 tomcat1 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号

vim /usr/local/tomcat1/conf/server.xml ,修改以下字段的端口号
第一个端口默认为8005,用于监听shutdown关闭信息

第一个连接器默认监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。

第二个连接器默认监听8009端口,AJP端口,即容器使用,如Apache能通过AJP协议访问Tomcat的8009端口

(1)
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
(2)
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
(3)
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
4.修改两个 tomcat 实例中的 startup.sh 和 shutdown.sh 文件,添加 tomcat 环境变量
(1)

vim /usr/local/tomcat/bin/startup.sh

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡

vim /usr/local/tomcat/bin/shutdown.sh

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡

(2)

vim /usr/local/tomcat1/bin/startup.sh

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡

vim /usr/local/tomcat1/bin/shutdown.sh

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
5.启动两例 tomcat 运行各自的 startup.sh 文件

/usr/local/tomcat/bin/startup.sh
/usr/local/tomcat1/bin/startup.sh  

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
端口检测
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
访问测试
(1)8080
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
(2)8081
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡

二、反向代理的两种类型

1.基于七层协议(http、https、mail) 的反向代理

2.基于四层的 IP 和(TCP/UDP)端口的反向代理

三、Nginx+Tomcat实现负载均衡和动静分离(七层代理)

1.动静分离和负载均衡原理

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

由于Nginx服务是轻量级、高性能,处理静态页面强,但是几乎不能处理动态页面,所以需要转发给多台tomcat服务器处理动态页面请求。

负载均衡是以Nginx为复制均衡器,Tomcat作为应用服务器。Nginx的负载均衡是通过反向代理实现的。反向代理即作为服务端的代理,接受客户端的请求,并根据配置转发给后端的tomcat服务器,处理完之后再通过nginx返回给客户端。

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡

2.实现方法

nginx + tomcat 动静分离:nginx使用location去正则匹配用户的访问路径的前缀或者后缀,去判断接收的请求是静态的还是动态的,静态资源请求在Nginx本地进行处理响应,动态页面请求通过反向代理转发给后端应用服务器
负载均衡:使用反向代理,先在http块中使用upstream模块定义服务器组名和服务器列表,使用location匹配路径再用proxy_pass http://… 服务器组名进行七层代理转发。

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡

Nginx+Tomcat实现负载均衡

部署实例

实验准备

Liunx服务器
Tomcat服务器1:192.168.206.8:8080 192.168.206.8:8081(多实例部署,参考之前的实验)
Tomcat服务器2:192.168.206.7:8080
Nginx 服务器:192.168.206.6:80
windows客户端
192.168.206.9 用于访问网页测试
1、部署nginx负载均衡服务器
关闭防火墙和selinux

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

安装前工作

#下载依赖工具
yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make
 
#准备nginx程序用户
useradd -M -s /sbin/nologin nginx

准备nginx安装包,编译安装

#解压安装包
tar zxvf nginx-1.12.0.tar.gz
 
#自定义编译安装
cd nginx-1.12.0/
 
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-stream
 
make && make install
 
#优化路径便于使用
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

添加到系统服务(使用systemctl管理)

#编写nginx系统服务文件
vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecrReload=/bin/kill -s HUP $MAINPID
ExecrStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
 
#打开nginx服务
chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service

检查端口
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
(2)配置Tomcat多实例服务器1 (同上)
(3)配置Tomcat服务器2
关闭防火墙和安全机制

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

准备jdk和tomcat包
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
配置jdk环境

#解压到/usr/local/目录下
tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/
 
#配置java环境变量
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH
 
#启用配置
source /etc/profile.d/java.sh

部署tomcat

#解压并移动
tar zxvf apache-tomcat-8.5.16.tar.gz
mv apache-tomcat-8.5.16 /usr/local/tomcat
 
#启动tomcat
/usr/local/tomcat/bin/startup.sh

检查tomcat是否启动
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
(4)添加动态和静态测试页面
Tomcat服务器1:8080添加动态测试页面

在/usr/local/tomcat/tomcat/webapps/test/ 下编写一个简单的jsp页面
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
添加配置并重启服务
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
Tomcat服务器1:8081添加动态测试页面

在/usr/local/tomcat1/webapps/test/ 下编写一个简单的jsp页面
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
添加配置并重启服务
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
Tomcat服务器2:8080 添加动态测试页面

在/usr/local/tomcat/webapps/test/ 下编写一个简单的jsp页面

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
添加配置并重启服务
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡

Nginx 服务器添加静态测试页面
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
在nginx服务器配置文件中添加动静分离配置(七层代理)

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
检查语法并重启服务
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
(6)使用windows客户端测试访问静态和动态页面
访问nginx服务器地址下的静态页面
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
访问nginx服务器地址下的动态页面(会转发给tomcat处理)
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
刷新会实现轮询处理,也就是实现了负载均衡

四层代理实例

实验架构图

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡

1.增设nginx服务器(七层代理)
yum安装nginx服务

#添加yum源
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
 
#安装
yum install -y nginx
 
#启动服务
systemctl start nginx
systemctl enable nginx

之前的nginx服务器使用的是源码安装,可以使用yum安装,配置文件位置会有所不同
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
在/etc/nginx/nginx.conf的http块中添加upstream指定服务器池
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
在/etc/nginx/conf.d/default.conf的server块中添加主要location配置

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
重启服务并自行添加静态资源用于测试

#重启服务
systemctl restart nginx
 
#添加静态资源用于测试
cd /usr/share/nginx/html/
mkdir static
cd static/

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
访问效果与第三部分实验一致
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
2.增设负载均衡器(四层代理)
可使用源码编译安装nginx
准备好安装包
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
解压并自定义编译安装

#安装依赖包
yum install -y gcc gcc-c++ make zlib-devel pcre-devel openssl-devel
 
#添加nginx系统用户
useradd -M -s /sbin/nologin nginx
 
#解压并自定义安装
cd /opt
tar xf nginx-1.22.0.tar.gz
cd nginx-1.22.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-stream --with-http_stub_status_module
 
#编译安装
make && make install

修改/usr/local/nginx/conf/nginx.conf配置文件

cd /usr/local/nginx/conf/
vim nginx.conf

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡

重启服务并检查

优化路径方便使用
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
nginx -t #检查语法
nginx #启动服务

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
访问测试

静态页面(等待连接保持结束后刷新,配置文件中是65s)
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡
简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡,nginx,tomcat,负载均衡文章来源地址https://www.toymoban.com/news/detail-527121.html

到了这里,关于简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Tomcat服务部署、优化及多实例实验(Nginx+Tomcat负载均衡、动静分离)

    目录 1 Tomcat 1.1 tomcat 构成 1.2 什么是 servlet? 1.3 什么是 JSP? 1.4 Tomcat 功能组件结构 1.5 Container 结构分析 1.6 Tomcat 请求过程 2 Tomcat 服务部署 2.1 环境部署 2.1.1 ​编辑 2.1.2 设置JDK环境变量 2.2 安装启动Tomcat 2.3 优化tomcat启动速度 2.4 主要目录说明 3 Tomcat 虚拟主机配置 3.1 创建 c

    2024年02月09日
    浏览(26)
  • Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层)

    目录   一、Tomcat 多实例部署 二、反向代理的两种类型 三、Nginx+Tomcat实现负载均衡和动静分离(七层代理) 1.动静分离和负载均衡原理 2.实现方法  3.部署实例 (1)部署Nginx负载均衡服务器 (2)配置Tomcat多实例服务器1 (第一部分已完成) (3)配置Tomcat服务器2 (4)添加动

    2024年02月13日
    浏览(32)
  • Nginx+Tomcat实现负载均衡、动静分离集群部署

    1、安装好JDK 2、安装tomcat 3、配置tomcat环境变量 4、修改tomcat2中的server.xml文件,要求各tomcat实例配置不能有重复的端口号 5、修改各tomcat实例中的startup.sh和shutdown.sh文件,添加tomcat环境变量 6、启动各tomcat中的/bin/startup.sh 7、浏览器访问测试 1、Nginx应用 Nginx是一款非常优秀的

    2024年02月08日
    浏览(80)
  • Tomcat多实例 + Tomcat负载均衡、动静分离(Nginx联动)

    Tomcat 多实例是指在同一台服务器上 运行多个独立的 Tomcat 实例 。 每个 Tomcat 实例都具有独立的配置文件、日志文件、应用程序和端口。 通过配置不同的端口和文件目录,可以实现同时运行多个独立的 Tomcat 服务器,每个服务器都可以独立处理用户的请求。 这样可以提高服务

    2024年02月09日
    浏览(27)
  • k8s实战案例之部署Nginx+Tomcat+NFS实现动静分离

    根据业务的不同,我们可以导入官方基础镜像,在官方基础镜像的基础上自定义需要用的工具和环境,然后构建成自定义出自定义基础镜像,后续再基于自定义基础镜像,来构建不同服务的基础镜像,最后基于服务的自定义基础镜像构建出对应业务镜像;最后将这些镜像上传

    2024年02月07日
    浏览(34)
  • Tomcat的动静分离以及多实例部署

    Nginx实现负载均衡的原理: Nginx实现负载均衡是通过反向代理实现Nginx服务器作为前端,Tomcat服务器作为后端,web页面请求由Nginx服务来进行转发。 但不是把所有的web请求转发,而是将静态页面请求Ncinx服务器自己来处理,动态页面请求,转发给后端的Tomcat服务器来处理。 To

    2024年02月13日
    浏览(28)
  • Nginx+Tomcat(多实例)实现动静分离和负载均衡四层、七层(总有些惊奇的际遇,比方说当我遇见你)

    1.在安装好jdk环境后,添加两例tomcat服务 2.添加tomcat环境变量 3.修改 tomcat2 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号 第一个端口默认为8005,用于监听shutdown关闭信息 第一个连接器默认监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应

    2024年02月08日
    浏览(33)
  • Tomcat的部署及优化(多实例和动静分离)

    目录 绪论 1、tomact 1.1 核心组件 1.2 什么是 servlet 1.3 什么是 JSP? 1.4 Tomcat 功能组件结构 1.5 Tomcat 请求过程 2、Tomcat 服务部署 2.1 tomcat自身优化: 2.2 内核优化  2.3 jvm 2.3.1 jvm配置  2.3.2 Tomcat配置JVM参数 2.3.3 jvm优化 3、tomcat虚拟主机配置 4、Tomcat多实例部署 5、nginx+tomcat实现动

    2024年02月13日
    浏览(28)
  • Nginx+Tomcat实现负载均衡、动静分离

    目录 一、Nginx负载均衡实现原理 1.Nginx 实现负载均衡是通过反向代理实现  2、Nginx配置反向代理主要参数 3、动静分离原理  4、Nginx静态处理优势 5、并发量和吞吐量计算 二:7层反向代理          1、环境准备 ​2、配置Nginx Server 3、tomcat1 和tomcat2配置 4、 搭建tomcat3 5、设置

    2024年02月05日
    浏览(45)
  • Web服务器群集:Nginx+Tomcat实现负载均衡与动静分离集群

    目录 一、理论 1.多实例 2.Nginx负载均衡 3.Nginx动静分离 4.配置Nginx+Tomcat负载均衡 5.配置Nginx+Tomcat动静分离集群 6.Nginx 四层代理配置 二、实验 1.配置Nginx+Tomcat负载均衡 2.、配置Nginx+Tomcat动静分离集群 三、问题 1.服务器群集与集群的区别 2.正向代理与反向代理的区别 四、总结 (

    2024年02月11日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包