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

nginx_web發表於2012-06-08

 

 

該模組能夠使得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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章