微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Nginx代理和动静分离

Nginx代理

微服务项目可能需要 Nginx来实现反向代理,用户请求 Nginx,随后 Nginx将请求转发至 Gateway网关,再由网关转至具体的微服务

一、动态代理

1.1 网关配置

针对使用 Gateway作网关的项目,需要配置 Nginx转发请求中对路径的识别方式

可以使用 -Host来验证 Nginx转发时的请求

spring:
  cloud:
    gateway:
      routes:
        # 注意,路由是自上而下顺序匹配的,不是像 IP地址那样最长匹配,所以精确的值要写在前面
        - id: gulimall_host_route
          uri: lb://gulimall-product
          predicates:
            - Host=**.gulimall

## 前端项目,/api

1.2 Nginx配置概述

概述

一般会将容器中的 Nginx目录映射出来

我们可在 html路径下配置访问数据,在 conf 路径下配置访问规则

配置

其中核心文件Nginx.confconf.d目录下的配置文件

查看 Nginx.conf

其中配置了一些基本属性

注意:它同时会引入 conf.d路径下的所有配置文件

查看 conf.d

初始状态下是只有 default.conf文件

其中配置了基本的路径相关信息,指明了路径映射的方式

1.3 Nginx详细配置

为了让用户能访问当前 Nginx,并向网关做转发,我们进行如下配置

conf.d目录下拷贝 default.conf,在原基础上做些修改

之所以配置 gateway这个名称是为了使用 Nginx负载均衡,其在根配置文件中的设置如下

二、动静分离

如果后端服务器没有进行前后端分离,那么当用户请求数据时,会同时请求动态数据、页面和 那些静态的 js、css等文件

静态文件的请求会限制系统的吞吐量

2.1 微服务改变

微服务无需额外配置,只是需要更改页面中的资源引用路径

假设,我们将资源放到 Nginx的 html下的 static/index路径下

则需要将具体资源的前缀路径设置为 /static/index/xxx,如:/static/index/js/index.js

2.2 Nginx配置

Nginx需要将这些资源开放出去

具体可以在,conf/conf.d路径下的资源文件中进行配置

如在 gulimall.conf中进行如下配置:

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

相关推荐