zoukankan      html  css  js  c++  java
  • Nginx连载

    一、 nginx变量(用户变量、内建变量)

      用户变量 又称用户自定义变量

      Nginx用户变量的可见范围是整个配置文件,甚至可以跨越不通虚拟主机的server配置,但是变量适用范围是不可以跨越自己的容器的,彼此之间不可以相互使用,如果有夸容器使用的需求可以使用echo_exec命令来实现夸容器跳转与rewrite类似。

      使用set geo 指令不仅仅可以给变量赋值,还可以创建变量,如某个变量不存在它会自动创建,学习下面的实例。

    nginx变量可以使用set赋值,我们来看一个比较完整的配置示例

    server {
            listen 8080;
    
            location /test {
                set $foo hello;
                echo "foo: $foo";  #变量插值
            }
        } 
    

    前缀必须带上“$”, 他的定义方式与PHP、Perl类似。

    如果我们想通过echo直接输出含有“$”的字符串如何把$字符转义?利用标准模块ngx_geo提供的配置指令geo来为变量$dollar赋予字符串“$”

    geo $dollar {
            default "$";
        }
    
        server {
            listen 8080;
    
            location /test {
                echo "This is a dollar sign: $dollar";
            }
        }

    测试结果如下:

        $ curl 'http://localhost/test'
        This is a dollar sign: $

    在“变量插值”的上下文中,还有一种特殊情况,即当引用的变量名之后紧跟着变量名的构成字符时(比如后跟字母、数字以及下划线),我们就需要使用特别的记法来消除歧义,例如

    server {
            listen 8080;
    
            location /test {
                set $first "hello ";
                echo "${first}world";
            }
        }
    

    内建变量

    内建变量 又称预定义变量

    Nginx内建变量最常用的就是来获取关于请求或响应的各种信息,例如由ngx_http_core模块提供的内建变量$uri 和 $request_uri的值输出到响应体中去。

    $uri $request_uri mac自动给我带的转义符,看起来可能比较乱~

    location /test {
            echo "uri = $uri";
            echo "request_uri = $request_uri";
            }

     

    $arg_xxx

    $arg_xxx内建变量是一个随着用户的使用参数变化而变化的,xxx则代表用户传参变量名,举例 $arg_name 这个变量就代表获取url参数为name或Name或NAME等等参数的值,而且还是未解码的原始形式的值,Nginx在匹配参数之前会把所有的参数全部格式化为小写。  

    location /test {
            echo "name = $arg_name";
            echo "age = $arg_age";
            }

     

    转载于:https://www.cnblogs.com/liuquan/p/9803864.html

  • 相关阅读:
    matplotlib数据可视化之柱形图
    xpath排坑记
    Leetcode 100. 相同的树
    Leetcode 173. 二叉搜索树迭代器
    Leetcode 199. 二叉树的右视图
    Leetcode 102. 二叉树的层次遍历
    Leetcode 96. 不同的二叉搜索树
    Leetcode 700. 二叉搜索树中的搜索
    Leetcode 2. Add Two Numbers
    Leetcode 235. Lowest Common Ancestor of a Binary Search Tree
  • 原文地址:https://www.cnblogs.com/twodog/p/12135779.html
Copyright © 2011-2022 走看看