Nginx 教程

主要文档

Nginx功能概述 为什么选择Nginx Nginx安装 常见问题(FAQ) 配置符号参考 调试 nginx 优化 Nginx 运行和控制Nginx

核心模块

Nginx事件模块 Nginx主模块

基本模块

Browser模块 Charset模块 Geo模块 HttpAccess模块 HttpAuthBasic模块 HttpAutoindex模块 HttpEmptyGif模块 HttpFcgi模块 HttpGzip模块 HttpHeaders模块 HttpIndex模块 HttpIndex模块. HttpLimit zone HttpLimitReqest模块 HttpLog模块 HttpProxy模块 HttpRewrite模块 HttpSSI模块 HttpUserId http核心模块 map Memcached

其他模块

Addition模块 EmbeddedPerl flv GooglePerftools HttpDav模块 HttpGeoIP HttpGzipStatic HttpImageFilter HttpRealIp HttpSecureLink HttpSSL HttpSubstitution HttpXSLT RandomIndex StubStatus模块

mail模块

MailAuth MailCore MailProxy MailSSL

安装

nginx php-fpm安装配置 nginx在fedora上的安装 nginx在freebsd上的安装 nginx在ubuntu上的安装 nginx在windows上的安装

配置示例和方法

HWLoadbalancerCheckErrors nginx防盗链 负载均衡 完整例子 完整例子2 虚拟主机

map


This module allows you to classify, or map a set of values into a different set of values and store the result in a variable.

Example:

map  $http_host  $name  {
  hostnames;


  default          0;

  example.com      1;
  *.example.com    1;
  test.com         2;
  *.test.com       2;
  .site.com        3;

} 

One use for this would be to use a mapping in place of writing lots of server/location directives or redirects:

map $uri $new {
  default        http://www.domain.com/home/;

  /aa            http://aa.domain.com/;
  /bb            http://bb.domain.com/;
  /john          http://my.domain.com/users/john/;

}

server {
  server_name   www.domain.com;
  rewrite  ^    $new   redirect;
} 

指令

map

syntax:*map $var1 $var2 { ... }*

default:*none*

context:*http*

map defines the mapping table which will be used to set a variable. There are three special parameters:

  • default — defines the value to be used where no match is found.
  • hostnames — it allows for an easier matching of values like host names, names with a starting dot may match exact host names and host names ending with the value, for example:
*.example.com  1; 

Instead of two entries

example.com    1;
*.example.com  1; 

we can use only one

 .example.com   1; 
  • include — include values from a file. Multiple includes may be used.

map_hash_max_size

syntax:*map_hash_max_size number*

default:*map_hash_max_size 2048*

context:*http*

The directive sets the maximum size of a hash table to hold the variable map. For more details see the descriptions of hash settings Optimization section .

map_hash_bucket_size

syntax:*map_hash_bucket_size n*

default:*map_hash_bucket_size 32/64/128*

context:*http*

The directive sets the maximum size in a hash table to map variables. The default value depends on the size of the cache line processor. More see in the descriptions of hash settings in the Optimization section .

References

Original Documentation