Я нашел этот пример http://projects.unbit.it/uwsgi/wiki/Example (см.: Varnish и nginx, лучший способ (0.9.8.4)), который предлагает поставить Varnish между Nginx и uWsgi.
Я пытаюсь заставить это работать на моем сайте Django.
Все это работает, но когда я использую лак, я ничего не вижу при посещении моего сайта. Кажется, что лак мало что делает.
Моя конфигурация:
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, используемая процессом Emperor)
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;
}