记录Nginx+Gateway+Docker容器项目实战

记录Nginx+Gateway在谷粒商城项目中配置使用,实现Nginx的动静分离、请求转发和Gateway API网关负载均衡处理请求

Nginx实现动静分离

背景交代:
1、谷粒商城项目商城页面全部使用服务器端模板引擎thymeleaf渲染;因此必然导致各个微服务存在大量的静态资源
2、Nginx使用Docker进行的部署;明确这点对location块中配置的root属性至关重要

下图是项目早期的一个简单部署绘制,本小节只关心图中的红线部分是如何实现的
在这里插入图片描述

确认Nginx容器内部的静态资源挂载点

# 使用该命令可以看到容器的所有挂载点
# ’nginx‘是容器名称;容器ID也是可以的
docker inspect nginx

在这里插入图片描述

上传静态资源

根据上图可知静态资源即将要存储的位置,/app/nginx/html
在这里插入图片描述

配置Nginx实现静态资源请求响应

首先明确一下Nginx的配置文件之间的联系;并在挂载点的/app/nginx/conf/conf.d创建gulimall.conf(复制default.conf)
在这里插入图片描述
在gulimall.conf中配置静态资源路径

在这里插入图片描述
请求一个静态资源测试,如下图
在这里插入图片描述

Nginx+API网关+Docker容器的请求链路

在这里插入图片描述
本小节记录Nginx接受的请求(非静态资源)是如何转发给API网关,最后到具体的Application

  • 82.157.43.31上部署的Nginx监听gulimall.com下的所有请求
  • Nginx将非静态资源的请求打给106.52.95.70上的API网关gateway
  • gateway根据路径规则将请求转发给具体的应用
    在这里插入图片描述
    这样整个请求链路就通了,最后看一眼效果
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43859011/article/details/133917156