这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除。
这个模块允许nginx同Scgi">协同工作,并且控制哪些参数将被安全传递,这个页面基本是拷贝自FastCGI与proxy,所以并不一定完全准确。
这个模块最早可用于版本0.8.42。
例:
location / { include scgi_params; scgi_pass localhost:
9000;}
一个在缓存中的实例:
http { scgi_cache_path /path/to/cache levels=1:2 keys_zone=NAME:10m inactive=5m; server { location / { scgi_pass 127.0.0.1:9000; scgi_cache NAME; scgi_cache_valid 200 302 1h; scgi_cache_valid 301 1d; scgi_cache_valid any 1m; scgi_cache_min_uses 1; scgi_cache_use_stale error timeout invalid_header http_500; } }}
缓存遵循后端服务器的Cache-Control, Expires等,但是不包括Vary。
指令
scgi_bind
语法:scgi_bind address
默认值:none
使用字段:http, server, location
可用版本:大于或等于0.8.22
示例:
scgi_bind 192.168.1.1;
指令在调用connect()函数之前将解析每个上游socket到一个本地地址,可以使用在主机拥有多个网卡接口或别名,但是你只允许到外的连接来自指定的网卡或者地址的情况下。
scgi_buffer_size
语法:scgi_buffer_size the_size ;
默认值:scgi_buffer_size 4k/8k ;
使用字段:http, server, location
这个参数指定将用多大的缓冲区来读取从Scgi服务器到来应答的第一部分。
通常来说在这个部分中包含一个小的应答头。
默认的缓冲区大小为scgi_buffers指令中的每块大小,可以将这个值设置更小。
scgi_buffers
语法:scgi_buffers the_number is_size;
默认值:scgi_buffers 8 4k/8k;
使用字段:http, server, location
这个参数指定了从Scgi服务器到来的应答,本地将用多少和多大的缓冲区读取,默认这个参数等于分页大小,根据环境的不同可能是4K, 8K或16K。
scgi_busy_buffers_size
语法: scgi_busy_buffers_size size
默认值: scgi_busy_buffers_size [”#scgi_buffer_size”] * 2
使用字段: http, server, location, if
Undocumented
scgi_cache
语法:scgi_cache zone|off;
默认值:off
使用字段:http, server, location
为缓存实际使用的共享内存指定一个区域,相同的区域可以用在不同的地方。
scgi_cache_bypass
语法:scgi_cache_bypass variable1 variable2…
默认值:none
使用字段: http, server, location
可用版本:>= 0.8.46
指定在什么情况下请求将使用缓存应答或者被传递到后端服务器。
scgi_cache_bypass $cookie_nocache $arg_nocache$arg_comment;scgi_cache_bypass $http_pragma $http_authorization;
如果表达式是一个空字符串或者等于“0”,则其值为false,在上述的例子中,如果cookie中有“nocache”则请求总是被传递到后端服务器。
注意来自后端的应答同样可以选择是否被缓存,因此刷新一个缓存元素的方法是传递一个请求头,并且包含一个自定义字段,如“My-618.html">Secret-Header: 1”,可以使用scgi_no_cache:
scgi_no_cache $http_my_secret_header;
scgi_cache_key
语法:scgi_cache_key line
默认值:none
使用字段:http, server, location
设置缓存的关键字,如:
scgi_cache_key localhost:9000$request_uri;
scgi_cache_methods
语法:scgi_cache_methods [GET HEAD POST]
默认值:scgi_cache_methods GET HEAD
使用字段:http, server, location
GET/HEAD用来装饰语句,即你无法禁用GET/HEAD即使你只使用下列语句设置:
scgi_cache_methods POST;