我发现这个例子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;
}
答案 0 :(得分:2)
Varnish仅为没有设置任何Cookie的请求提供缓存响应。你需要确保取消设置不必要的cookie以释放出清漆的全部功能。
您可能需要查看此nice summary/example on dealing with cookie requests for varnish + django