Proxy reverso Nginx: configuração de cache

Depois de ter visto como usar o Nginx como proxy reverso, explicarei neste tutorial como configurar o cache de elementos estáticos (imagem, arquivos css, js….).

Usar o cache reduzirá o número de solicitações HTTP ao servidor web e, portanto, reduzirá a carga de trabalho.

O primeiro passo será criar uma pasta no servidor que armazene o cache.

sudo mkdir /var/cache/nginx_cache_sitename

Você pode criar a pasta de cache onde quiser no servidor, caso ative o cache em vários sites (virtualhost), aconselho separar as pastas.

Agora que temos a pasta, passaremos para a configuração do virtualhost.

Abra o arquivo virtualhost:

sudo nano /etc/nginx/sites-available/sitename

Você deve primeiro declarar o cache usando o parâmetro proxy_cache_path que deve ser adicionado antes do bloco{} do server

Para isso usaremos o parâmetro proxy_cache_path para indicar a configuração do cache.

proxy_cache_path /var/cache/nginx_cache_sitename levels=1:2 keys_zone=cache_name_site:10m max_size=4g inactive=60m use_temp_path=off;

Esta linha é utilizada para configurar a localização do cache, bem como seu tamanho e tempo de vida. O parâmetro keys_zone é importante, pois iremos utilizá-lo para indicar qual cache será utilizado.

Agora configuraremos o virtualhost para usar o cache para arquivos estáticos.

A configuração é feita no bloco server{} declarando um bloco location{}.

O código abaixo permite cache de elementos estáticos (imagem, fonte, css e js).

	# Cache IMG/CSS/JS/Font
	location ~* \.(?:jpg|jpeg|gif|png|ico|woff2|css|js)$ {
		proxy_cache cache_name_site;
		proxy_pass https://taget_server_or_name;
		proxy_ssl_verify off;
		include proxy_params;
		add_header X-Cache-Status $upstream_cache_status;
	}

Como você pode ver, é igual a uma configuração, exceto que adicionamos o parâmetro proxy_cache com o valor da chave de cache que foi configurada.

O parâmetro add_header X-Cache-Status $upstream_cache_status; permite adicionar o cabeçalho de resposta da solicitação se o cache tiver sido usado.

O que nos dá em um navegador:

Depois que a configuração do cache for adicionada ao virtualhost, teste a configuração:

sudo nginx -t

Recarregue a configuração para levá-la em consideração:

sudo systemctl reload nginx

Algumas informações adicionais

Limpe o cache do Nginx:

Para limpar o cache, basta esvaziar a pasta:

sudo rm -rf /var/cache/nginx_cache/*

Existe outro método que usa um URL.

Cache na memória – RAM

Também é possível utilizar a RAM do servidor para ter um cache ainda mais rápido.

Crie a pasta de cache:

sudo mkdir -p /var/cache/nginx_ram

Monte a pasta na RAM:

sudo mount -t tmpfs -o size=2G tmpfs /var/cache/nginx_ram

Tudo que você precisa fazer é configurar esta pasta como local de cache.

Pour rendre persistant le montage :

Abra o arquivo /etc/fstab:

sudo /etc/fstab

Adicione a seguinte linha, adaptando-se à sua configuração:

sudo tmpfs /var/cache/nginx_ram tmpfs defaults,size=2G 0 0

Vous savez maintenant comment configurer le cache avec Nginx dans une utilisation en tant que reverse proxy.

O uso do cache é prático quando o Nginx é colocado no front end, isso permite limitar o número de solicitações HTTP ao servidor que hospeda a aplicação Web.

A configuração de cache é frequentemente usada quando um servidor Apache2 está por trás do proxy, já que o Nginx é conhecido por ser muito eficiente no fornecimento de arquivos estáticos.




Deixe um comentário