`
mingren135
  • 浏览: 69200 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

nginx学习2-变量

 
阅读更多

一、nginx变量

1)set指令:server,location

set $v 0;

 

2)map模块:http

map $v $b {

    0 'baidu';

    1 'google';

}

 

3)geo模块:http

geo  $geo  {

         default      default;

         192.168.1.0/24   aa;

         192.168.2.0/24   bb;

}

upstream  aa.server {

        server 192.168.3.1:8081;

}

upstream  bb.server {

        server 192.168.3.1:8082;

}

upstream  default.server {

        server 192.168.3.1:8080;

}

 

4)正则匹配生成变量$domain

server {

    server_name ~^(www\.)?(?<domain>.+)$;

    location / {

        root /sites/$domain;

    }

    location ~* \.(gif|jpg|jpeg)$ {

        root htdocs/$1;

    }

}

 

5)内建变量:有90%都是在ngx_variables.c定义的,剩下的跟在各个功能实现模块里面

--名称固定,如:

$request_time:请求的响应时间

$upstream_response_time:后端处理请求的时间

$uri、$request_uri、$host等

--前缀匹配:


 

6)变量类型

--只读:大部分nginx的内建变量都是只读变量,常用的例外是$args变

--可读写:

1. 核心内建变量$args、某些模块的内建变量

2. set 设置的变量

3. map、geo创建的变量

4. 正则匹配创建的变量

 

7)变量值的传递:在一次请求处理过程中经历的所有块中共享传递

1.内部rewrite、内部跳转和子请求三种情况下变量值是共享的

2.共享不代表值不改变,比如$arg_XXX这类动态计算的变量值

 

8)变量的一些特点

1.不区分大小写

2.如要获取请求头的Accept-Charset,写成$http_accept_charset

3.$request_time时间为0,因为nginx时间有缓存

 

 

 

  • 大小: 16 KB
分享到:
评论

相关推荐

    nginx-tutorial:Nginx安装维护入门学习笔记,以及各种实例

    所以关于 Nginx,有这些标签:「异步」「事件」「模块化」「高性能」「高并发」「反向代理」「负载均衡」Linux系统:Centos 7 x64Nginx版本:1.11.5目录配置常用正则全局变量符号参考配置文件内置预定义变量反向代理...

    nginx+lua简要说明

    Nginx的高性能是大家公认的,而Nginx开发主要是以C/C++模块的形式进行,整体学习和开发成本偏高;如果有一种简单的语言来实现Web应用的开发,那么Nginx绝对是把好的瑞士军刀;目前Nginx团队也开始意识到这个问题,...

    深入理解nginx模块开发与架构解析-完整版

    Nginx 模块开发领域里比较重要的学习书籍,深度还原 Nginx 设计思想,透彻解析 Nginx 架构。 包含15、16章变量和slab共享内存部分

    nginx-comment:nginx-1.10.0源码分析及注解,注解摘要链接:

    2016-06-19这次主要是完成了Nginx内部变量部分的注解,主要包括内部变量的定义,初始化和使用;还完成了重写模块的setcommand部分的注解,主要包括set命令涉及到的脚本引擎相关的内容。另外,添加一个文档目录,...

    nginx自定义变量与内置预定义变量的使用

    主要介绍了nginx自定义变量与内置预定义变量的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    annotated_nginx:Annotated Nginx Source(中文)

    Nginx源码分析,注解代码,帮助学习Nginx。 1.10增加了动态模块、http2、reuseport。 1.11.x里的stream模块的变动较大,完善了阶段处理。 1.14增加了mirror模块,支持gRPC。 1.15.10增加了range listen,指令“ssl_...

    masonite-on-docker:使用Postgres,Gunicorn和Nginx对Masonite进行Docker化

    想学习如何构建它吗? 查看。 要使用这个项目吗? 发展 使用默认的Masonite开发服务器。 将.env.dev-sample重命名为.env.dev 。 更新docker-compose.yml和.env.dev文件中的环境变量。 生成图像并运行容器: $ ...

    django-on-docker:使用Postgres,Gunicorn和Nginx对Django进行Docker化

    使用Postgres,Gunicorn和Nginx对Django进行Docker化是否想学习如何构建? 查看 。要使用这个项目吗?发展历程使用默认的Django开发服务器。 将.env.dev-sample重命名为.env.dev 。 更新docker-compose.yml和.env....

    Nginx_study:学习Nginx原始码和架构

    即复制内存数据也插入磁盘数据ngy_chain_t是和ngy_buf_t配合使用的链表数据结构初步实现了ngy_buf_t和ngy_chain_t,定义了第一阶段要使用的成员变量2.实现一个简易log系统先编写一个简易的日志输入模块,实现基本...

    毕业设计基于flask框架和python搭建的互动问答论坛源码+项目说明(含nginx部署方案).zip

    2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...

    新版Linux Shell编程实训(全)20170518.docx

    [学习目标] 20 任务1.1 构建开发环境 22 任务1.2 vi/vim编辑器 33 1.2.1 vim使用实例 34 1.2.2 vim按键说明 36 任务1.3 Shell常用命令 41 1.3.1 基础命令 41 1.3.2 文件、目录操作命令 42 1.3.3 系统管理命令 52 ...

    Linux运维从入门到高级全套案例v3.rar

    4 Linux学习技巧 2. Linux系统篇…… 2.1 Linux系统管理… 2.1.1 Linux目录初识 2.1.2 Linux常用命令 2.1.3 Linux用户权限 2.1.4Limx网络配置 3. Linux服务篇 Linux服务部署 3.1.1构建NTP时间服务器 3.1.2构建DHCP...

    ansible-demo:Ansible资料库,用于学习

    ansible-demo 小型存储库学习使用Ansible和Ansible-Playbook技术来部署由单个EC2实例和ELB组成的小型AWS堆栈。 它被连接以提供由nginx提供服务的简单HTML5应用程序。 Ansible将在您的本地主机上运行,​​并为您远程...

    JavaEE学习日志(七十八): Linux安装jdk,安装MySQL,安装Tomcat,安装Redis,部署项目详细过程

    JavaEE学习日志持续更新—-&gt; 必看!JavaEE学习路线(文章总汇) JavaEE学习日志(七十八)LinuxLinux安装jdkLinux安装MySQLLinux安装tomcatLinux安装RedisLinux部署商城...配置环境变量 通过vim编辑器,编辑etc下的prof

    基于python web开发的简易订单系统+源代码+文档说明

    2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...

    SocialLearning:协作寻找学习资源

    它已经在 Gunicorn/Nginx 甚至 uWSGI/Nginx 上成功部署。 出于配置目的,下表将“SocialLearning”环境变量映射到它们的 Django 设置: 环境变量 Django 设置 开发默认 生产默认 DJANGO_AWS_ACCESS_KEY_ID AWS_...

    基于SpringBoot+SpringCloud+Mybatis主流框架搭建的分布式敏捷开发系统架构

    框架公共模块,提供相关共用工具类,以及代码生成器,基础配置参数,静态变量等,可演变成公司专用工具类自行维护。 mi-blog 查看部署 技术博客项目(使用HEXO主题模版,仿DD样式) mi-config 分布式统一配置管理...

    码头上的烧瓶

    是否想学习如何构建? 查看。 要使用这个项目吗? 发展历程 使用默认的Flask开发服务器。 将.env.dev-sample重命名为.env.dev 。 在docker-compose.yml和.env.dev文件中更新环境变量。 生成图像并运行容器: $ ...

Global site tag (gtag.js) - Google Analytics