Problema de configuração de Nginx e FastCGI

1

Estou executando o WordPress Multisite / Network e gostaria de ter o FastCGI mantendo o cache por um longo período de tempo (digamos, uma semana ou mês). Razão de ser, temos um plugin que força o cache a atualizar quando há alterações, um usuário pode atualizar manualmente o site inteiro e quando lançamos atualizações também limpamos o cache. SO um preenchimento em cache é, em geral, "atualizado"

Aqui está o código que eu tenho atualmente no meu arquivo conf ...

fastcgi_cache_path /var/cache/html levels=1:2 keys_zone=FASTCGICACHE:500m 
inactive=30d;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
fastcgi_cache_use_stale error timeout invalid_header http_500;
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;

Aqui estão minhas perguntas:

  1. Como faço para definir o inativo por 30 dias? é "30d" correto? EDIT: eu mudei para ser "inativo = 10080m", mas parece ainda expirar após 10 minutos (o padrão)
  2. Tenho notado que após um período de tempo (poucas horas, talvez um dia) o servidor retorna "x-fastcgi-cache: EXPIRED" e quando eu atualizo recebo um "HIT". Eu sei que o padrão para inativo é 10m, então se # 1 for verdadeiro (30d não está correto), então essa seria a causa? Se não, alguma outra ideia?
  3. Quando "x-fastcgi-cache: EXPIRED" demora muito mais para carregar o URL, se não estiver atendendo a versão atual (ou seja, a mesma velocidade rápida) e, em seguida, obter uma nova versão do cache?
  4. Minha configuração do WordPress tem vários domínios, como posso fazer com que o cache armazene cada diretório de primeiro nível como o nome de domínio em vez da chave de cache MD5. (por isso, em vez de / s / apenas uma string longa, seria /example.com/somereallylongstring
por Kalman 11.10.2018 / 10:36

1 resposta

0

Então, depois de algumas pesquisas, encontrei partes da minha resposta e consegui completar o resto sozinho.

  1. inativo precisa estar em minutos ou "m", então 10080m
  2. Aprendi algo novo. Inativo é algo usado pelo sistema internamente para limpar arquivos antigos e não está relacionado ao cache EXPIRE. Isso é "fastcgi_cache_valid" define se um cache está expirado, H / T Nginx fastcgi_cache_valid vs fastcgi_cache_path está inativo
  3. Este foi um mal-entendido de como "fastcgi_cache_use_stale" é usado. Pelo que entendi, isso é usado apenas se o servidor de aplicativos (compilar com PHP ou qualquer outro) construir as quebras de página, ele voltará a ficar obsoleto, mas se o servidor de aplicativos estiver funcionando, ele aguardará a nova versão.
  4. Ainda não há resposta para este.
por 14.10.2018 / 12:07