该模块能够使得Nginx与uWSGI进程进行交互,并且会控制传递给uWSGI进程的参数。对于uwsgi协议和uWSGI服务器,uWSGI服务器就是uwsgi协议的一个实现。
该模块首次提供出现在nginx-0.8.40版本中,因此,如果要使用这个功能那么必须要选择这个版本及其以上。
5.1 示例配置
location / { include uwsgi_params; uwsgi_pass unix:/var/run/example.com.sock; } |
一个有缓存的例子
http { uwsgi_cache_path /path/to/cache levels=1:2 keys_zone=NAME:10m inactive=5m;
server { location / { uwsgi_pass unix:/var/run/example.com.sock; uwsgi_cache NAME; uwsgi_cache_valid 200 302 1h; uwsgi_cache_valid 301 1d; uwsgi_cache_valid any 1m; uwsgi_cache_min_uses 1; uwsgi_cache_use_stale error timeout invalid_header http_500; } } } |
缓存只对后台Cache-Control、Expires等感兴趣,而Vary处理不受影响。
5.2 指 令
uwsgi_bind
功 能:设定绑定到上游服务器的本地地址。该指令对于如果一台主机(这里指的是Nginx所在的主机)有多个网卡/别名(interface/aliase),那么你可以指定从特定的网卡/IP地址上传递出去的连接。
语 法:uwsgi_bind address
默 认 值:none
使用环境:http, server, location
例 如:uwsgi_bind 192.168.1.1
uwsgi_buffer_size
功 能:该指令用于设置缓冲大小。从uWSGI服务器传来响应数据包的第一部分首先被读取到该缓存,通常,在这个响应部分是一个小的响应头。默认情况下,缓存大小等于在指令uwsgi_buffers中指定的一个buffer的大小,然而这可能设置的有点小。如果出现后台网页不完整或者是5XX错误是不妨将该参数调整的大一些。
语 法:uwsgi_buffer_size the_size
默 认 值:uwsgi_buffer_size 4k/8k
使用环境:http, server, location
uwsgi_buffers
功 能:该指令用于设置缓冲的大小和数量,默认情况下,一个buffer等于一个内存页面的大小,这依赖于系统欧洲,可能是4K、8K 或者是16K
语 法: uwsgi_buffers the_number is_size
默 认 值: uwsgi_buffers 8 4k/8k
使用环境: http, server, location
uwsgi_busy_buffers_size
功 能:无文档。
语 法: uwsgi_busy_buffers_size size
默 认 值: uwsgi_busy_buffers_size ["#uwsgi_buffer_size"] * 2
使用环境: http, server, location, if
uwsgi_cache
功 能:该指令用于指定一块区域用于缓存,实际上就是一块用于缓存的命名的共享内存。同一块共享区域可以在多处使用。
语 法: uwsgi_cache zone|off
默 认 值: off
使用环境: http, server, location
uwsgi_cache_bypass
功 能:该指令在0.8.46版本后提供。它指示在什么情况下请求将会绕开缓存响应而是将请求传递到上游的服务器。看下面的例子:
uwsgi_cache_bypass $cookie_nocache $arg_nocache$arg_comment; uwsgi_cache_bypass $http_pragma $http_authorization; |
如果表达式为空字符串或者是"0",那么结果为假。比如,在上面的这个例子中,如果在请求中将cookie 设置为"nocache",那么请求将不会被缓存,它将总是被传递到后端服务器。
注意,尽管请求不会被缓存了,但是从后台服务器传来的响应仍然可能会有资格被缓存。于是,可以通过发送一个自定义的头,例如"My-Secret-Header: 1"来刷新缓存中的一个条目,然后再添加以下条目:
uwsgi_no_cache $http_my_secret_header; |
语 法: uwsgi_cache_bypass variable1 variable2...
默 认 值: none
使用环境: http, server, location
uwsgi_cache_key
功 能:该指令用于设置缓存缓存所用的key。
语 法: uwsgi_cache_key line
默 认 值: none
使用环境: http, server, location
例 如:uwsgi_cache_key localhost:9000$request_uri;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27043155/viewspace-732226/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27043155/viewspace-732226/