• ngx.var.arg与ngx.req.get_uri_args的区别

    日期:

    ngx.var.arg_xx与ngx.req.get_uri_args[xx]两者都是为了获取请求uri中的参数,例如 http://pureage.info?strider=1 为了获取输入参数strider,以下两种方法都可以: local strider = ngx.var.arg_strider local strider = ngx.req.get_uri_args[strider] 差...

  • nginx proxy_cache与etag配合的问题

    日期:

    首先谈谈遇到的问题: 一个Nginx架在一个后端服务的前面,Nginx proxy_pass到它并开启proxy_cache,假设这个后端服务总是会吐Etag响应头。 在应用中,我们发现当nginx 的proxy_cache成功将后端的页面cache住时,浏览器多次对该页面发起请求,会命中nginx的cache...

  • 关于nginx中的host变量

    日期:

    关于变量host,在Nginx的官网wiki中是如下说明的: $host:in this order of precedence: host name from the request line, or host name from the Host request header field, or the server name matching a request 直白的翻译一下:host变量的值按照如下...

  • Nginx的配置解析系统

    日期:

    几个重要的指令类型属性 我们知道,每一个Nginx的模块就是对应一个ngx_module_t类型的结构体,该结构体的commands成员是一个数组,里面包括了该模块的配置指令。每一个commands成员是ngx_command_t类型的结构体,其定义如下: struct ngx_command_s { ngx_str...

  • Nginx中的进程间通信

    日期:

    我们知道,Linux提供了多种进程间传递消息的方式,比如共享内存、套接字、管道、消息队列、信号等,每种方式都各有特点,各有优缺点。其中Nginx主要使用了其中的三种方式: 套接字(匿名套接字对) 共享内存 信号 本文主要结合代码讲一下前两种方式,匿名套接...

  • Nginx配置proxy_pass

    日期:

    在nginx中配置proxy_pass时,当在后面的url加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走。 下面四种情况分别用http://192.168.1.4/proxy/test.html 进行访问。 第一种: location /...

  • Nginx HTTP负载均衡/反向代理的相关参数测试

    日期:

    测试目的 (1)弄清楚HTTP Upstream 模块中Server指令的max_fails与fail_timeout参 数的关系、它们对后端服务器健康情况的检查起到了什么作用、它们的取值对Http proxy模块中的其它指令是否有直接或间接的影响等 (2)测试HTTP Proxy模块中proxy_next_upstre...

  • Nginx中的ngx_modules数组

    日期:

    1.ngx_modules数组的产生 ngx_modules数组是在执行configure脚本后自动生成的,在objs/ngx_modules.c文件中。该数组即当前编译版本中的所有Nginx模块。 做如下操作,可以看到ngx_moduels数组的一般形式: 1.1 最简单的Nginx框架,不包含任何HTTP模块 cd ngin...

  • nginx的反向代理模块 参数proxy_pass,proxy_method,proxy_hide_ 300

    日期:

    nginx的反向代理模块有很多种配置,下面介绍一些常用的配置实例: 1.proxy_pass 语法: proxy_pass URL 配置块: location,if 详解:此配置项将当前请求反向代理到URL参数指定的服务器上,URL可以是主机名或者IP地址加端口的形式。例如: view plainprint?...

  • wordpress在nginx中的rewrite重写规则

    日期:

    对于wordpress开启静态化url时如何在nginx下配置重写rewrite规则,网上一大抄的一个方式是说这样配置: if (!-e $request_filename) { rewrite ^(.+)$ /index.php?q=$1 last; } 看起来没什么错误,但实际使用中总发现静态文件也被rewrite走了,去nginx官网发...