Eu tentei procurar uma solução para isso, mas não consigo encontrar nenhuma documentação / dicas sobre minha configuração específica.
Minha configuração:
Backendserver: ngnix: 2 sites diferentes (2 domínios principais) em virtualenv, executando gunicorn / python / django Backendserver hardware (VPS) 2gb ram, 8 CPU
Databaseserver: postgresql - pg_bouncer
Backendserver hardware (VPS) 1gb ram, 8 CPU
Varnishserver: somente executando o verniz | Hardware de Varnishserver (VPS) 1gb ram, 8 CPU
Estou tentando configurar um servidor de verniz para lidar com picos de tráfego raros (20 000 solicitações exclusivas). O pico ocorre quando um programa de TV menciona um dos sites.
O que eu preciso fazer para fazer com que o servidor de verniz armazene em cache ambos os sites / domínios no meu backendserver?
Meu /etc/varnish/default.vcl:
backend django_backend {
.host = "local.backendserver.com";
.port = "8080";
}
Meu /usr/local/nginx/site-avaible/domain1.com
upstream gunicorn_domain1 {
server unix:/home/<USER>/.virtualenvs/<DOMAIN1>/<APP1>/run/gunicorn.sock fail_timeout=0;
}
server {
listen 80;
listen 8080;
server_name domain1.com;
rewrite ^ http://www.domains.com$request_uri? permanent;
}
server {
listen 80 default_server;
listen 8080;
client_max_body_size 4G;
server_name www.domain1.com;
keepalive_timeout 5;
# path for static files
root /home/<USER>/<APP>-media/;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://gunicorn_domain1;
break;
}
}
}
Meu /usr/local/nginx/site-avaible/domain2.com
upstream gunicorn_domain2 {
server unix:/home/<USER>/.virtualenvs/<DOMAIN2>/<APP2>/run/gunicorn.sock fail_timeout=0;
}
server {
listen 80;
listen 8080;
server_name domain2.com;
rewrite ^ http://www.domains.com$request_uri? permanent;
}
server {
listen 80;
listen 8080;
client_max_body_size 4G;
server_name www.domain2.com;
keepalive_timeout 5;
# path for static files
root /home/<USER>/<APP>-media/;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://gunicorn_domain2;
break;
}
}
}
Neste momento, se eu tentar o Ip do servidor de verniz, só recebo o domínio1. Tudo estaria correto se eu mudasse o DNS dos dois domínios para apontar para o servidor de verniz ou há alguma configuração extra antes que funcione?
Pergunta 2: Eu preciso de um servidor dedicado para verniz, ou eu poderia simplesmente instalar o verniz no meu backendserver, ou o servidor ficaria sem memória rapidamente?