[转帖]nginx中map使用方法

nginx,map,使用,方法 · 浏览次数 : 0

小编点评

```nginx map $args $foo { default 0; debug 1;} $foo = ($args =~ ^debug$) ? 1 : 0; } ```

正文

  • 场景: 匹配请求 url 的参数,如果参数是 debug 则设置 $foo = 1 ,默认设置 $foo = 0
  1. map $args $foo {
  2. default 0;
  3. debug 1;
  4. }

$args 是nginx内置变量,就是获取的请求 url 的参数。 如果 $args 匹配到 debug 那么 $foo 的值会被设为 1 ,如果 $args 一个都匹配不到 $foo 就是default 定义的值,在这里就是 0

  • 在 Nginx 配置文件中的作用段: http{} ,注意 map 不能写在 server{} 否则会报错

map 语法

map $var1 $var2 {...}

map 的 $var1 为源变量,通常可以是 nginx 的内置变量,$var2 是自定义变量。 $var2 的值取决于 $var1 在对应表达式的匹配情况。 如果一个都匹配不到则 $var2 就是 default 对应的值。

  • 一个正则表达式如果以 “~” 开头,表示这个正则表达式对大小写敏感。以 “~*”开头,表示这个正则表达式对大小写不敏感。
    1. map $http_user_agent $agent {
    2. default "";
    3. ~curl curl;
    4. ~*apachebench" ab;
    5. }

文章知识点与官方知识档案匹配,可进一步学习相关知识
网络技能树首页概览24242 人正在系统学习中

与[转帖]nginx中map使用方法相似的内容:

[转帖]nginx中map使用方法

场景: 匹配请求 url 的参数,如果参数是 debug 则设置 $foo = 1 ,默认设置 $foo = 0 map $args $foo { default 0; debug 1;} $args 是nginx内置变量,就是获取的请求 url 的参数。 如果 $args 匹配到 debug 那么

[转帖]Nginx中的Rewrite的重定向配置与实践

https://www.cnblogs.com/tugenhua0707/p/10798762.html 阅读目录 一:理解地址重写 与 地址转发的含义。 二:理解 Rewrite指令 使用 三:理解if指令 四:理解防盗链及nginx配置 简介:Rewrite是Nginx服务器提供的一个重要的功能

[转帖]nginx中用到的kill命令

1、kill命令 1.1、kill命令简介 我们都知道,想要在Linux中终止一个进程有两种方式,如果是前台进程可以使用Ctrl+C键进行终止;如果是后台进程,那么需要使用kill命令来终止。(其实Ctrl+C也是kill命令)。 kill命令的格式是: kill -signal pid 其中 pi

[转帖]Nginx中if语句中的判断条件

https://www.cnblogs.com/songxingzhu/p/6382007.html 一、if语句中的判断条件(nginx) 1、正则表达式匹配: ==:等值比较; ~:与指定正则表达式模式匹配时返回“真”,判断匹配与否时区分字符大小写; ~*:与指定正则表达式模式匹配时返回“真”,

[转帖]nginx配置文件中listen后面的backlog配置

http://www.04007.cn/article/323.html publish:February 25, 2017 -Saturdayby 04007 本站原创文章,转载请注明文章出处:www.04007.cn 在对nginx的配置时,我们会设置的它的监听端口。比如:Linsten 80;

[转帖]关于nginx 反向代理upstream中的 keepalive配置

一、关于nginx upstream 在nginx的模块中,分为3种类型,分别是handler,filter和upstream,其中upstream可以看做一种特殊的handler,它主要用来实现和后端另外的服务器进行通信,由于在nginx中全部都是使用非阻塞,并且是一个流式的处理,所以upstre

[转帖]nginx优化 突破十万并发

一、一般来说nginx 配置文件中对优化比较有作用的为以下几项: 1. worker_processes 8; nginx 进程数,建议按照cpu 数目来指定,一般为它的倍数 (如,2个四核的cpu计为8)。 2. worker_cpu_affinity 00000001 00000010 0000

[转帖]Nginx服务器性能调优

Worker 相关worker设置比较简单,只需要设置正确的数量。 Worker Processes 如果您的站点流量不大,Nginx,数据库和Web应用程序都运行在同一台服务器上。则在/etc/nginx/nginx.conf中,设置worker_processes 1; 如果您的站点流量比较大或

[转帖]Nginx Http 模块中 Upstream 的 keepalive 参数配置注意事项

Nginx Http 模块中 Upstream 的 keepalive 参数配置注意事项 摘要 在高并发环境下 keepalive 参数配置不当容易产生大量 TIME_WAIT,导致端口耗尽,服务异常。 keepalive 值应该大于等于 upstream 中 server 的数量。(建议是 ser

[转帖]Nginx上传文件大小限制(请求报文过大)413 Request Entity Too Large

在nginx使用过程中,上传文件的过程中,通常需要设置nginx报文大小限制。避免出现413 Request Entity Too Large。 于是奇葩的问题被我们遇到了,详细配置请参考下面。我们的问题是,无论client_max_body_size设置在哪里,nginx -s reload后,依