如何配置Nginx>清漆> uWSGI设置

时间:2013-09-18 11:22:40

标签: django nginx varnish uwsgi

我发现这个例子http://projects.unbit.it/uwsgi/wiki/Example(参见:Varnish和nginx,最好的方式(0.9.8.4))建议将Varnish放在Nginx和uWsgi之间。

我正在尝试将此工作用于我的Django网站。

这一切都在运行,但是当我使用varnishlog时,我在访问我的网站时看不到任何显示内容。清漆似乎没有做太多。

我的配置是:

Nginx :(用'domain'替换真实域名)

upstream uwsgi_staging {
    server 127.0.0.1:3031;
}


server {
    listen 80;
    server_name domain.com;

    root /var/www/domain/staging/src/;

    location / {
        uwsgi_pass uwsgi_staging;
        include uwsgi_params;
    }
}
uWSGI :(皇帝进程使用的.ini conf文件的相关部分)

socket = 127.0.0.1:3031
protocol = http
module = website.wsgi:application

清漆:

的/ etc /默认/清漆

DAEMON_OPTS="-a :6081 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -s file,/var/lib/varnish/$INSTANCE/varnish_storage.bin,1G"

/etc/varnish/default.vcl

backend uwsgi {
    .host = "127.0.0.1";
    .port = "3031";
}


sub vcl_recv {    
    set req.backend = uwsgi;
}

1 个答案:

答案 0 :(得分:2)

Varnish仅为没有设置任何Cookie的请求提供缓存响应。你需要确保取消设置不必要的cookie以释放出清漆的全部功能。

您可能需要查看此nice summary/example on dealing with cookie requests for varnish + django