我找到了这个例子http://projects.unbit.it/uwsgi/wiki/Example(参见:Varnish and nginx, the best way (0.9.8.4)),它建议将 Varnish 放在 Nginx 和 uWsgi 之间。
我正试图让这个适用于我的 Django 网站。
一切都在运行,但是当我使用 varnishlog 时,访问我的网站时看不到任何显示。看来清漆的作用不大。
我的配置是:
Nginx:(将真实域名替换为“域”)
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;
}