Antes de falar sobre cache web, vamos falar sobre CDN, uma rede de entrega de conteúdo (CDN) é uma rede distribuída construída e coberta sobre uma rede bearer, composta por frotas de servidores de nós de borda espalhadas pelo mundo. A CDN pode compartilhar a pressão sobre o servidor de origem, evitar congestionamento de rede, garantir a distribuição do conteúdo do site em diferentes regiões e cenários, e melhorar a velocidade de acesso aos recursos. A CDN armazena em cache os recursos do servidor de origem nos nós de aceleração do IDC ao redor do mundo, de modo que, quando os usuários finais solicitam acesso e obtêm recursos do servidor de origem, eles possam obter os recursos em cache em nós da CDN próximos, melhorar a velocidade de acesso aos recursos e compartilhar a pressão sobre os servidores de origem.
Como mostrado na figura a seguir:
Simplificando, quando os usuários acessam alguns recursos estáticos, eles não os obterão do servidor de origem após usarem a CDN, mas encontrarão o serviço CDN mais próximo do usuário atual por meio do cálculo e retorno dos dados.
Os valores de cache web são um serviço entre o usuário e o servidor de origem, e o Nginx oferece recursos nativos de cache web. Outros incluem Varnish, Squid e Cachewall, que são proxies de cache web (alguns dos quais não oferecem apenas cache web).
Sobre a documentação de configuração do cache Nginx:O login do hiperlink está visível.
Primeiro, quando acessamos um recurso pela primeira vez por meio de um serviço de cache, o estado da cache éERRAR, solicitará ao servidor Origin que o extraia, como mostrado na figura abaixo:
Quando acessamos o recurso pela segunda vez, veremos que o recurso foi armazenado em cache e o estado estáBATER, como mostrado na figura abaixo:
Os principais parâmetros de configuração do Nginx são os seguintes:
Parâmetros principais:
proxy_cache_path/data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=180d use_temp_path=off;
●path: Um parâmetro obrigatório que especifica o caminho de armazenamento dos arquivos em cache. ●levels: Define a hierarquia do diretório cache. Cada camada pode ser representada por 1 (até 16 escolhas, 0-f) ou 2 (até 256 opções, 00-ff), separadas por : no meio. proxy_cache_path /data/nginx/cache; Isso significa que todos os caches têm apenas um diretório, como /data/nginx/cache/d7b6e5978e3f042f52e875005925e51b proxy_cache_path /data/nginx/níveis de cache=1:2; Isso significa que o cache é um diretório de segundo nível (com 16*256=4096 diretórios), como /data/nginx/cache/b/51/d7b6e5978e3f042f52e875005925e51b ● keys_zone: Parâmetro obrigatório, define o nome e o tamanho da área de memória compartilhada, que é usada para armazenar os metadados do item do cache (todas as chaves ativas e informações relacionadas aos dados em cache), para que o nginx possa determinar rapidamente se uma requisição atinge ou não o cache, 1m pode armazenar 8000 chaves, 10m pode armazenar 80000 chaves, 10m pode armazenar 80000 chaves. ●inativo: Exclui arquivos de cache que não foram acessados dentro do tempo especificado, padrão por 10 minutos. ●max_size: O limite superior de armazenamento em cache é definido e, se não especificado, todo o espaço em disco será consumido no máximo. ● use_temp_path: Coloque arquivos temporários diretamente no diretório cache.
proxy_cachemy_cache; #指定用于页面缓存的共享内存, o nome da zona é definido por proxy_cache_path diretiva
proxy_cache_min_uses1; ## estipula o limite de cache, quantas vezes a solicitação é armazenada em cache, e não armazena em cache requisições de baixa frequência para evitar desperdício.
proxy_cache_valid200 3m; #为不同的响应状态码设置不同的缓存时间, esta é uma solicitação com código de status de cache de 200 e duração de cache de 3 minutos
proxy_cache_key$request_uri; #指定缓存文件的key为请求的URI
add_headerNginx-Cache-Status $upstream_cache_status; #把缓存状态设置为头部信息, responda ao cliente
proxy_passhttp://webservers; #设置代理转发的后端服务器的协议和地址
Use um proxy de cache Nginx para ignorar as strings de consulta
(Fim)
|