负载均衡-动静分离实验

文章目录

访问流程

实验环境

系统 服务 服务 内网地址
CentOS7.7 负载均衡 Nginx Proxy 10.0.0.5
CentOS7.7 静态资源 Nginx Static 10.0.0.7
CentOS7.7 动态资源 Tomcat Server 10.0.0.8

实验需求

动静分离,通过中间件将动态请求和静态请求进行分离, 分离资源, 减少不必要的请求消耗, 减少请求延时。

好处: 动静分离后, 即使动态服务不可用, 但静态资源不会受到影响,通过中间件将动态请求和静态请求分离

实验步骤

1、搭建web01的静态资源

php 复制代码
#安装nginx
[root@web01 ~]# yum -y localinstall nginx-1.20.2-1.el7.ngx.x86_64.rpm


#编辑配置文件
[root@web01 ~]# cat /etc/nginx/conf.d/www.conf 
server{
    listen 80;
    server_name www.jy.com;
}
    location / {
        root /code/www;
        index index.html;
        location ~* \.(png|jpg|gif)$ {
    root /code/www/images;
    }
}

#创建目录,上传图片
[root@web01 ~]# mkdir  /code/www/images
[root@web01 images]# ls
1.png


#启动服务
[root@web01 ~]# systemctl restart nginx
[root@web01 ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

2、搭建web02的动态资源

php 复制代码
#安装tomcat
[root@web02 ~]# yum install -y tomcat
#启动tomcat
[root@web02 ~]# systemctl start tomcat

#编写默认页面
[root@web02 ~]# mkdir /usr/share/tomcat/webapps/ROOT
[root@web02 ~]# vi /usr/share/tomcat/webapps/ROOT/java_test.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<HTML>
    <HEAD>
        <TITLE>JSP Test Page</TITLE>

    </HEAD>

    <BODY>
      <%
        Random rand = new Random();
        out.println("<h1>Random number:</h1>");
        out.println(rand.nextInt(99)+100);
      %>
    </BODY>

</HTML>

3、部署lb01

php 复制代码
#安装nginx
[root@lb01 ~]# yum -y localinstall nginx-1.20.2-1.el7.ngx.x86_64.rpm

#编写配置文件
vim /etc/nginx/proxy_params
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;

proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 128k;


#编写反向代理配置文件
[root@lb01 ~]# vim /etc/nginx/conf.d/proxy.conf
upstream static {
    server 10.0.0.7:80;
}
upstream java {
    server 10.0.0.8:8080;
}
server {
    listen 80;
    server_name www.jy.com;
    location / {
        root /web/www;
        index index.html;
    }
    location ~ .*\.(png|jpg|gif)$ {
        proxy_pass http://static;
        include proxy_params;
    }
    location  ~ .*\.jsp$ {
        proxy_pass http://java;
        include proxy_params;
    }
}


## 编写页面文件
[root@lb01 ~]# mkdir -p /web/www
[root@lb01 ~]# vi /web/www/index.html
<html lang="en">
<head>
        <meta charset="UTF-8" />
        <title>测试ajax和跨域访问</title>

        <script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>

</head>

<script type="text/javascript">
$(document).ready(function(){
        $.ajax({
        type: "GET",
        url: "http://www.jy.com/java_test.jsp",   #域名可以修改自己的,后面是Tomcat创建的路径
        success: function(data) {
                $("#get_data").html(data)
        },
        error: function() {
                alert("fail!!,请刷新再试!");
        }
        });
});
</script>

        <body>
                <h1>测试动静分离</h1>

                <img src="http://www.jy.com/1.png">   #修改为存放静态图片的 文件名字
                <div id="get_data"></div>

        </body>

</html>

#重启nginx
[root@lb01 ~]# systemctl restart nginx

    
#修改hosts文件
172.16.1.5   www.jy.com

4、验证

动态网页

访问 "http://www.tf.com/java_test.jsp",

相关推荐
Leinwin5 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
2401_865382505 小时前
信息化项目运维与运营的区别
运维·运营·信息化项目·政务信息化
漠北的哈士奇5 小时前
VMware Workstation导入ova文件时出现闪退但是没有报错信息
运维·vmware·虚拟机·闪退·ova
如意.7596 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
运维小欣6 小时前
智能体选型实战指南
运维·人工智能
yy55276 小时前
Nginx 性能优化与监控
运维·nginx·性能优化
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ7 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
05大叔9 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络
安当加密9 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
dashizhi20159 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑