2

我尝试将 nginx 与 memcached 一起使用,配置如下:

server {

    ...

    location / {
    default_type            text/html;
    set $memcached_key      $uri;
        memcached_pass 127.0.0.1:11211;
        error_page     404 = @fallback;
    }

    location @fallback {
        include uwsgi_params;
        uwsgi_pass unix:///var/tmp/site.sock;
    }

}

但是所有请求都转到 uwsgi 而不使用 memcache:

nginx -V

nginx -V nginx 版本:nginx/1.1.19 启用 TLS SNI 支持 配置参数:--prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var /log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http- log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx。pid --with-debug --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with- http_sub_module --with-http_xslt_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --with-mail --with-mail_ssl_module --add-module =/build/buildd/nginx-1.1.19/debian/modules/nginx-auth-pam --add-module=/build/buildd/nginx-1.1.19/debian/modules/nginx-echo --add-module =/build/buildd/nginx-1.1.19/debian/modules/nginx-upstream-fair --add-module=/build/buildd/nginx-1.1.19/debian/modules/nginx-dav-ext-module19/debian/modules/nginx-echo --add-module=/build/buildd/nginx-1.1.19/debian/modules/nginx-upstream-fair --add-module=/build/buildd/nginx-1.1。 19/debian/modules/nginx-dav-ext-module19/debian/modules/nginx-echo --add-module=/build/buildd/nginx-1.1.19/debian/modules/nginx-upstream-fair --add-module=/build/buildd/nginx-1.1。 19/debian/modules/nginx-dav-ext-module

输出中没有 ngx_http_memcached_module。

我使用 Ubuntu 12.04 和安装了apt-get install nginx.

这是否意味着我必须安装它才能使用 memcached 或其他东西?

4

1 回答 1

3

来自http://nginx.org/en/docs/http/ngx_http_memcached_module.html#memcached_pa​​ss

The ngx_http_memcached_module module allows to obtain responses from a memcached 
server. The key is set in the $memcached_key variable. A response should be put 
in memcached in advance via means that are external to nginx. 

换句话说,nginx 只能检索已经存储在 memcache 中的东西

means that are external to nginx有可能是您的 uwsgi 应用程序

于 2012-11-05T13:21:28.917 回答