zoukankan      html  css  js  c++  java
  • nginx学习笔记(二)

    nginx变量

    Nginx 变量值容器的生命期是与当前正在处理的请求绑定的,而与 location 无关。
    通过 set 指令隐式创建的 Nginx 变量。这些变量我们一般称为“用户自定义变量”,或者更简单一些,“用户变量”。由 Nginx 核心和各个 Nginx 模块提供的“预定义变量”,或者说“内建变量”(builtin variables)。
    内建变量 $uri,可以用来获取当前请求的 URI(经过解码,并且不含请求参数),而 $request_uri 则用来获取请求最原始的 URI (未经解码,并且包含请求参数)。请看下面这个例子:

    location /test {
            echo "uri = $uri";
            echo "request_uri = $request_uri";
        }
    $ curl 'http://localhost:8080/test'
        uri = /test
        request_uri = /test
    
        $ curl 'http://localhost:8080/test?a=3&b=4'
        uri = /test
        request_uri = /test?a=3&b=4
    
        $ curl 'http://localhost:8080/test/hello%20world?a=3&b=4'
        uri = /test/hello world
        request_uri = /test/hello%20world?a=3&b=4
    

    另一个特别常用的内建变量其实并不是单独一个变量,而是有无限多变种的一群变量,即名字以 arg_ 开头的所有变量,我们估且称之为 $arg_XXX 变量群,这个变量的值是当前请求名为 name 的 URI 参数的值,而且还是未解码的原始形式的值

    location /test {
            echo "name: $arg_name";
            echo "class: $arg_class";
        }
    $ curl 'http://localhost:8080/test'
        name: 
        class: 
    
        $ curl 'http://localhost:8080/test?name=Tom&class=3'
        name: Tom
        class: 3
    
        $ curl 'http://localhost:8080/test?name=hello%20world&class=9'
        name: hello%20world
        class: 9
    
  • 相关阅读:
    使用ZooKeeper实现Java跨JVM的分布式锁
    基于ZooKeeper的分布式锁和队列
    activiti数据库表结构剖析
    visualvm监控jvm及远程jvm监控方法
    使用visualvm 远程监控 JVM
    java jprofile
    Linux服务器上监控网络带宽的18个常用命令
    Redis-sentinel哨兵模式集群方案配置
    电容的去耦半径
    DC-DC BUCK电源芯片的基本原理和组成
  • 原文地址:https://www.cnblogs.com/binxyz/p/7844661.html
Copyright © 2011-2022 走看看