Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 2246|Resposta: 0

[Web] Cache de Recursos Web (CDN) da Nginx

[Copiar link]
Publicado em 17/07/2024 22:10:31 | | | |
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)




Anterior:Use a ferramenta dotnet-ef para gerar um script de rollback
Próximo:Use o curl para verificar o suporte HTTP/3 do local de teste
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com