ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Nginx的Uwsgi模块(部分模块指令)

Nginx的Uwsgi模块(部分模块指令)

原创 Linux操作系统 作者:nginx_web 时间:2012-06-08 07:01:17 0 删除 编辑

 

 

该模块能够使得NginxuWSGI进程进行交互,并且会控制传递给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-ControlExpires等感兴趣,而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等于一个内存页面的大小,这依赖于系统欧洲,可能是4K8K 或者是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/,如需转载,请注明出处,否则将追究法律责任。

上一篇: uwsgi协议的变量
请登录后发表评论 登录
全部评论

注册时间:2012-06-06

  • 博文量
    54
  • 访问量
    409598