最新动态
Nginx 反向代理-OpenResty
2024-11-07 16:47

方式二:第三方插件,在此以OpenResty插件为例
  OpenResty是一个全功能的 Web 应用服务器。它打包了标准的 Nginx 核心,常用的第三方模块以及大多数依赖项。 可以把它看成是Nginx附加众多的第三方插件的合集。其主体是嵌入lua脚本的支持,让你能够使用lua灵活地处理运算逻辑。

Nginx 反向代理-OpenResty

下载安装及使用步骤

  具体下载安装及开启服务步骤如下:

  • 去openresty官网下载,根据系统选择需要的下载包进行下载
      openresty下载地址

  • b. 分析配置项
      通过配置项可以看到,当我们通过直接访问时(因为http默认端口就是80,在此可以省略),默认路径就是路径,就会打开这个目录下的文件

      在说location之前,我一定要先分享一个echo 的大坑,希望小伙伴们不要踩坑。我是在 windows 环境中进行开发,在调试配置的过程中,本希望可以通过 echo 命令打印一些日志辅助分析。因此花了一两个小时在百度上搜索echo-nginx-module安装使用教程,结果搜到的全是Linux教程,最后找到其根本原因: windows 环境无法使用echo-nginx-module原因
      Windows代码不是开源的,Nginx无法动态链接模块,因此,您仅限于nginx.org上提供的二进制文件以及它们包含的模块。

    匹配模式:

    location = /uri   = 表示精确匹配,只有完全匹配上才能生效。匹配优先级最高
    location ^~ /uri   ^~ 对URL路径进行前缀匹配,并且在正则之前。匹配优先级次高
    location ~ pattern  ~ 表示正则匹配,优先级较高。
    location /      / 通用匹配,任何未匹配到其它location的请求都会匹配到,相当于switch中的default,优先级最低。

    匹配规则:
    (1)匹配优先级越高,越优先匹配
    (2)同一优先级,匹配程度越高的匹配
    (3)匹配优先级和匹配程度都一样,则匹配在前面的路径

    location配置举例:

    在浏览器输入不同的地址l及对应结果:

    静态请求直接从 nginx 服务器所设定的根目录路径去取对应的资源,动态请求转发给真实的后台(前面所说的应用服务器,如图中的Tomcat)去处理。

    这样做不仅能给应用服务器减轻压力,将后台api接口服务化,还能将前后端代码分开并行开发和部署。(传送门:nginx动静分离的好处)

      对于前面写的规则,可能小伙伴们会有点晕,没关系,不用背下来,使用的时候对照一下就好了。下面开始进入正题,nginx 反向代理配置。

    location /a {
    proxy_pass http://ip;
    导致: /a/x --> http://ip/a/x
    location /b {
    proxy_pass http://192.168.0.12:3801/;
    导致: /b/x --> http://ip/x

    NGINX配置负载均衡主要是在文件中里模块
    1、upstream模块应放于nginx.conf配置的http{}标签内
    2、upstream模块默认算法是wrr (权重轮询 weighted round-robin)

      Nginx的upstream支持5种分配方式,包括轮询、weight(权重比)、ip_hash、fair 、url_hash,其中前三种为Nginx原生支持的分配方式,后两种为第三方支持的分配方式。在此只对轮询、weight(权重比)做介绍。

    轮询

      轮询是upstream的默认分配方式,即每个请求按照时间顺序轮流分配到不同的后端服务器,如果某个后端服务器down掉后,能自动剔除。

    weight(权重比)

     &emsp轮询的加强版,即可以指定轮询比率,weight和访问几率成正比,主要应用于后端服务器异质的场景下



    文件完整配置如下:

        以上就是本篇文章【Nginx 反向代理-OpenResty】的全部内容了,欢迎阅览 ! 文章地址:http://www78564.xrbh.cn/quote/23287.html 
         动态      相关文章      文章      同类文章      热门文章      栏目首页      网站地图      返回首页 迅博思语移动站 http://www78564.xrbh.cn/mobile/ , 查看更多