当前位置: 代码网 > 科技>人工智能>数据分析 > Nginx + Tomcat 搭建负载均衡、动态分离

Nginx + Tomcat 搭建负载均衡、动态分离

2024年08月06日 数据分析 我要评论
Nginx + Tomcat 搭建负载均衡、动态分离

目录

一、nginx负载均衡实现原理

1、反向代理原理

nginx配置反向代理的主要参数

2、nginx静态处理优势

3、nginx动静分离原理

二、nginx + tomcat负载均衡、动静分离实验

1、环境准备

2、动静分离配置

2.1tomcat1配置

2.2 tomcat2配置

 2.3 nginx server 配置


一、nginx负载均衡实现原理

nginx实现负载均衡是通过反向代理实现

  • nginx服务器作为前端,tomcat服务器作为后端,web页面请求由nginx服务来进行转发
  • 但是不是把所有的web请求转发,而是将静态页面请求nginx服务器自己来处理,动态页面请求,转发给后端的tomcat服务器来处理
  • tomcat是属于轻量级的应用服务器,可以接受访问量可能会不足,所以我们需要多台tmocat服务器,然后通过nginx配置权重来进行挑选tomcat服务器去进行处理,负载均衡的一种策略

1、反向代理原理

  • 反向代理(reverse proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给intetnet上请求连接的客户端,此时代理服务器对外就表现为一个服务器
  • 通常的代理服务器,只用于代理内部网络对internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到web服务器上的http请求发送到代理服务器中。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理方式的方式称为反向代理服务。

nginx配置反向代理的主要参数

upstream 服务池名{}

2、nginx静态处理优势

  • nginx处理静态页面的效率远高于tomcat的处理能力
  • 若tomcat的请求量为1000次,则nginx的请求量为6000次
  • tomcat每秒的吞吐量为0.6m,nginx的每秒吞吐量为3 .6m
  • nginx处理静态资源的能力是tomcat处理的6倍

3、nginx动静分离原理

服务端收到客户端的请求中,既有静态资源也有动态资源,静态资源由nginx提供服务,动态资源nginx转发至后端

二、nginx + tomcat负载均衡、动静分离实验

1、环境准备

一台nginx服务器,两台tomcat服务器
nginx:192.168.127.128
tomcat1:192.168.127.199
tomcat2:192.168.127.198

2、动静分离配置

2.1tomcat1配置

tomcat1 server配置

创建动态页面文件

mkdir /usr/local/tomcat/yyh
vim /usr/local/tomcat/webapps/yyh/index.jsp


<%@ page language="java" import="java.util.*" pageencoding="utf-8"%>
<html>
<head>
<title>jsp yyh page</title>
</head>
<body>
<% out.println("动态页面 1,http://www.yyh.com");%>
</body>
</html>

 添加虚拟主机配置

<host name="localhost" appbase="webapps" unpackwars="true" autodeploy="true" xmlvalidation="false" xmlnamespaceaware="false">
        <context docbase="/usr/local/tomcat/webapps/yyh" path="" reloadable="true" />
</host>

2.2 tomcat2配置

 添加虚拟主机配置

 2.3 nginx server 配置

准备静态页面和静态图片

 修改配置文件

 upstream tomcat {
        server 192.168.127.199:8080 weight=1;
        server 192.168.127.198:8080 weight=1;
}
 server {
        listen       80;
        server_name  www.yyh.com;

location ~ .*\.jsp$ {
            proxy_pass http://tomcat;
            proxy_set_header host $host;
            proxy_set_header x-real-ip $remote_addr;
            proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
        }

 测试访问

 

 

 

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com