nginx配置文件详解
Nginx处理HTTP的核心功能模块
窗体顶端
窗体底端
指令
窗体顶端
巴西 智力窗体底端
aio
语法:aio [on|off|sendfile]
默认值:off
使用字段:http, server, location
这个指令在Linux内核2.6.1922以上版本可以使用,对于Linux内核,这个指令需要配合directio指令,使用这个指令将自动关闭sendfile支持。
location /video {
    aio on;
    directio 512;
    output_buffers 1 128k;
}
在FreeBSD5.2.1之前版本和Nginx0.8.12,你必须手工关闭sendfile:
location /video {
    aio on;
    sendfile off;
    output_buffers 1 128k;
}
同样也可以和sendfile一起使用(FreeBSD5.2.1和Nginx0.8.12):
location /video {
    aio sendfile;
    sendfile on;
    tcp_nopush on;
}
窗体顶端
窗体底端
alias
语法:alias file-path|directory-path;
默认值:no
使用字段:location
这个指令为一个location指定一个路径,注意它可能类似于root,但是document root没有改
变,请求只是使用了别名目录的文件。这个location自身为“丢弃的”,具体请看下面的例子:
location  /i/ {
  alias  /spool/w3/images/;
}
上个例子总,请求”/i/top.gif”将返回这个文件: ”/spool/w3/images/top.gif”。正如你所看到的,uri中location后面的部分会追加到这个目录后面,而location自身是“丢弃的”,如果使用root指令的话会进行完整的追加,如上例中,如果使用root指令则返回:”/spool/w3/images/i/top.gif”李白出装
Alias同样可以用于带正则表达式的location,如:
location ~ ^/download/(.*)$ {
  alias /home/website/files/$1;
}
请求”/download/book.pdf”将返回”/home/website/files/book.pdf”。同样注意,uri中location后面的部分会追加到这个目录后面。
同样,也可以在别名目录字段中使用变量。
窗体顶端
窗体底端
chunked_transfer_encoding
语法:chunked_transfer_encoding on|off;
默认值:on
使用字段:http, server, location
指定是否在响应时启用chunked编码(只能使用于HTTP1.1版本以上的连接)。
窗体顶端
窗体底端
client_body_in_file_only
语法:client_body_in_file_only on|off
默认值:off
使用字段:http, server, location
这个指令始终存储一个连接请求实体到一个文件即使它只有0字节。
注意:如果这个指令打开,那么一个连接请求完成后,所存储的文件并不会删除。
这个指令可以用于debug调试和嵌入式Perl模块中的$r→request_body_file方法。
窗体顶端
窗体底端
client_body_in_single_buffer
语法:client_body_in_single_buffer
默认值:off
使用字段:http, server, location
这个指令(0.7.58版本)指定是否将客户端连接请求完整的放入一个缓冲区,当使用变量$request_body时推荐使用这个指令以减少复制操作。
如果无法将一个请求放入单个缓冲区,将会被放入磁盘。
窗体顶端
窗体底端
client_body_buffer_size
语法:client_body_buffer_size the_size
默认值:8k/16k
使用字段:http, server, location
这个指令可以指定连接请求实体的缓冲区大小。
如果连接请求超过缓存区指定的值,那么这些请求实体的整体或部分将尝试写入一个临时文件。
默认值为两个内存分页大小值,根据平台的不同,可能是8k或16k。
窗体顶端
窗体底端
client_body_temp_path
语法:client_body_temp_path dir-path [ level1 [ level2 [ level3 ]
默认值:client_body_temp
使用字段:http, server, location
指令指定连接请求实体试图写入的临时文件路径。
可以指定三级目录结构,如:
client_body_temp_path  /spool/nginx/client_temp 1 2;
那么它的目录结构可能是这样:
/spool/nginx/client_temp/7/45/00000123457
窗体顶端
窗体底端
client_body_timeout
语法:client_body_timeout time
默认值:60
使用字段:http, server, location
指令指定读取请求实体的超时时间。
这里的超时是指一个请求实体没有进入读取步骤,如果连接超过这个时间而客户端没有任何响应,Nginx将返回一个”Request time out” (408)错误
窗体顶端
窗体底端
client_header_buffer_size
语法:client_header_buffer_size size
默认值:1k
使用字段:http, server
指令指定客户端请求头部的缓冲区大小
绝大多数情况下一个请求头不会大于1k
不过如果有来自于wap客户端的较大的cookie它可能会大于1k,Nginx将分配给它一个更大的缓冲区,这个值可以在large_client_header_buffers里面设置。
窗体顶端
窗体底端
client_header_timeout
语法:client_header_timeout time
默认值:60
使用字段:http, server
指令指定读取客户端请求头标题的超时时间。
这里的超时是指一个请求头没有进入读取步骤,如果连接超过这个时间而客户端没有任何响应,Nginx将返回一个”Request time out” (408)错误。
窗体顶端
窗体底端
client_max_body_size
语法:client_max_body_size size
默认值:client_max_body_size 1m
使用字段:http, server, location
指令指定允许客户端连接的最大请求实体大小,它出现在请求头部的Content-Length字段。
如果请求大于指定的值,客户端将收到一个”Request Entity Too Large” (413)错误。
记住,浏览器并不知道怎样显示这个错误。
窗体顶端
窗体底端
default_type
语法: default_type MIME-type
默认值:default_type text/plain
使用字段:http, server, location
某个文件在标准MIME视图没有指定的情况下的默认MIME类型。
参考types
窗体顶端
窗体底端
directio
语法:directio [size|off]
默认值:directio off
使用字段:http, server, location
这个参数指定在读取文件大小大于指定值的文件时使用O_DIRECT(FreeBSD, Linux),F_NOCACHE(Mac OS X)或者调用directio()函数(Solaris),当一个请求用到这个参数时会禁用sendfile,通常这个参数用于大文件。网站销售技巧
directio  4m;
窗体顶端
窗体底端
error_page
语法:error_page code [ code… ] [ = | =answer-code ] uri | @named_location
默认值:no
使用字段:http, server, location, location 中的if字段
这个参数可以为错误代码指定相应的错误页面
error_page  404          /404.html;
error_page  502 503 504  /50x.html;
error_page  403          example/forbidden.html;
error_page  404          = @fetch;
同样,你也可以修改返回的错误代码:
error_page 404 =200 /.empty.gif;
如果一个错误的响应经过代理或者FastCGI服务器并且这个服务器可以返回不同的响应码,如200, 302, 401或404,那么可以指定响应码返回:
error_page  404  =  /404.php;
如果在重定向时不需要改变URI,可以将错误页面重定向到一个命名的location字段中:
location / (
    error_page 404 = @fallback;
)
location @fallback (
    proxy_pass backend;
)
窗体顶端
窗体底端
国内化妆品排行榜if_modified_since
语法:if_modified_since [off|exact|before]
默认值:if_modified_since exact
使用字段:http, server, location
指令(0.7.24)定义如何将文件最后修改时间与请求头中的”If-Modified-Since”时间相比较。
off :不检查请求头中的”If-Modified-Since”(0.7.34)。
怎么刻录光盘
exact:精确匹配
before:文件修改时间应小于请求头中的”If-Modified-Since”时间
窗体顶端
窗体底端
internal
语法:internal
默认值:no
使用字段: location
年会歌曲internal指令指定某个location只能被“内部的”请求调用,外部的调用请求会返回”Not found” (404)
“内部的”是指下列类型:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。