У меня есть один VPS, обслуживающий 2 установки Wordpress. Использование Varnish> Nginx> PHP-FPM Прямо сейчас у меня есть это в папке conf.d nginx:
domain1.com.conf domain2.com.conf
Пример конфигурации для одного домена выглядит следующим образом:
server {
server_name domain1.com www.domain1.com *.domain1.com;
listen 127.0.0.1:81;
expires max;
root /home/domain1.com;
index index.php;
Файл VCL по умолчанию для Varnish:
backend default {
.host = "127.0.0.1";
.port = "81";
.connect_timeout = 600s;
.first_byte_timeout = 600s;
.between_bytes_timeout = 600s;
}
Все домены имеют одинаковое значение прослушивания 127.0.0.1:81.
Как сделать так, чтобы Varnish действительно обслуживал кешированную версию нужного домена?
Чтобы разделить кеш по имени домена, измените конфигурацию VCL следующим образом: добавьте это в подпрограмму vcl_hash:
для лака 2.1.x
if (req.http.host) {
set req.hash += req.http.host;
}
else {
set req.hash += server.ip;
}
для лака 3.х
if (req.http.host) {
hash_data(req.http.host);
}
else {
hash_data(server.ip);
}