Como Instalar e Configurar o Varnish Cache no AlmaLinux
Descubra como Instalar e Configurar o Varnish cache no servidor com o sistema operacional Almalinux, Rock Linux e CentOs. Obtenha mais velocidade em seus sites com um sistema avançado de cache.
Este tutorial fornece um guia passo a passo para a instalação e configuração do Varnish Cache em um servidor AlmaLinux e otimizar seu servidor para mecanismos de busca. O Varnish Cache é um acelerador de HTTP de código aberto que melhora o desempenho de sites ao armazenar conteúdo em cache, reduzindo a carga no servidor backend. Este exemplo é adaptado para uma VPS com 8 vCPU e 32 GB de RAM, permitindo configurações de alto desempenho. Assumimos que você tem acesso root ao servidor e que o AlmaLinux está atualizado (versão 8 ou 9 recomendada).
Antes de prosseguir, certifique-se de que o servidor esteja configurado com um firewall (como firewalld) e que portas necessárias (por exemplo, 80 e 6081) estejam liberadas. Este guia é baseado em práticas recomendadas e verificadas em fontes oficiais, como a documentação do Varnish e repositórios do AlmaLinux.
Pré-requisitos para Instalar Varnish Cache no AlmaLinux
Para garantir uma instalação suave:
- Um servidor AlmaLinux instalado e atualizado.
- Acesso root ou privilégios sudo.
- Um servidor web backend, como Apache ou Nginx, rodando na porta 8080 (configuraremos o Varnish para escutar na porta 80).
- Conhecimento básico de comandos Linux.
Atualize o sistema antes de começar:
sudo dnf update -y
sudo dnf upgrade -y
Passo 1: Habilitar Repositórios Necessários
O Varnish Cache não está disponível nos repositórios padrão do AlmaLinux. Habilite o repositório EPEL (Extra Packages for Enterprise Linux) e o repositório oficial do Varnish.
- Instale o EPEL:
sudo dnf install epel-release -y
- Adicione o repositório oficial do Varnish (para a versão mais recente, como Varnish 7 ou superior):
sudo dnf install https://packagecloud.io/varnishcache/varnish74/packages/el/9/varnish-release-7.4-1.el9.noarch.rpm -y
(Verifique a versão mais recente no site oficial do Varnish para ajustes, se necessário.)
- Atualize os repositórios:
sudo dnf update -y
Passo 2: Instalar o Varnish Cache
Instale o pacote principal do Varnish:
sudo dnf install varnish -y
Após a instalação, verifique a versão instalada:
varnishd -V
Isso deve exibir algo como “varnishd (varnish-7.4.0)” ou similar, confirmando a instalação bem-sucedida.
Passo 3: Configurar o Varnish Cache
A configuração principal do Varnish é feita via arquivos VCL (Varnish Configuration Language). Para uma VPS com 8 vCPU e 32 GB de RAM, otimizaremos para alto tráfego, alocando mais recursos para threads e armazenamento em cache.
- Edite o arquivo de configuração do systemd para ajustar parâmetros de inicialização:
sudo systemctl edit varnish
Adicione o seguinte conteúdo no editor (sob [Service]):
[Service]
ExecStart=
ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,16g -p thread_pool_min=500 -p thread_pool_max=5000 -p thread_pools=8
- Explicação das otimizações:
-a :80: Escuta na porta 80 (HTTP padrão).-s malloc,16g: Aloca 16 GB de RAM para o cache (metade da RAM total para evitar sobrecarga).-p thread_pool_min=500 -p thread_pool_max=5000: Define pools de threads para lidar com alto concurrency, aproveitando os 8 vCPU.-p thread_pools=8: Um pool por vCPU para distribuição eficiente.
- Configure o arquivo VCL padrão (
/etc/varnish/default.vcl):
Edite o arquivo:
sudo nano /etc/varnish/default.vcl
Substitua o conteúdo com uma configuração básica otimizada para um backend como Apache/Nginx na porta 8080:
vcl 4.1;
backend default {
.host = "127.0.0.1";
.port = "8080";
}
sub vcl_recv {
# Remover cookies desnecessários para cachear mais conteúdo
if (req.url ~ "^/(static|media)/") {
unset req.http.Cookie;
}
# Normalizar cabeçalhos para melhor cache
set req.http.host = regsub(req.http.host, ":[0-9]+$", "");
}
sub vcl_backend_response {
# Definir TTL padrão de 1 hora para conteúdo cacheável
set beresp.ttl = 1h;
# Remover cookies do backend se não necessários
if (beresp.http.Set-Cookie) {
unset beresp.http.Set-Cookie;
}
}
- Dicas de otimização: Ajuste o TTL e regras de cache com base no seu aplicativo (por exemplo, para WordPress ou e-commerce). Para SEO, certifique-se de que páginas estáticas sejam cacheadas para reduzir o tempo de carregamento.
- Configure o servidor backend (exemplo com Apache):
- Instale o Apache se não estiver presente:
sudo dnf install httpd -y - Edite
/etc/httpd/conf/httpd.confpara escutar na porta 8080:Listen 8080 - Reinicie o Apache:
sudo systemctl restart httpd
Passo 4: Iniciar e Habilitar o Serviço Varnish
- Inicie o serviço:
sudo systemctl start varnish
- Habilite para inicialização automática:
sudo systemctl enable varnish
- Verifique o status:
sudo systemctl status varnish
Procure por “active (running)” para confirmar.
- Teste a configuração:
- Use
curlpara verificar o cache:curl -I http://localhost
Isso deve mostrar cabeçalhos como “Via: 1.1 varnish” e “X-Varnish”.
Passo 5: Otimizações Avançadas para VPS com 8 vCPU e 32 GB de RAM
Para maximizar o desempenho:
- Monitoramento: Instale o Varnish Admin Console (varnishadm) e use ferramentas como
varnishstatpara monitorar hits/misses. - Segurança: Gere um novo secret file:
sudo varnishadm -S /etc/varnish/secret -T localhost:6082
- Firewall: Libere portas:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=6081/tcp # Para varnishncsa logging, se usado
sudo firewall-cmd --reload
- Tuning adicional: Em cenários de alto tráfego, aumente o parâmetro
-p workspace_client=128kno ExecStart para sessões maiores. Monitore o uso de RAM comtopouhtop(instale comsudo dnf install htop -y).
Problemas Comuns e Soluções
- Erro de porta em uso: Certifique-se de que nenhum serviço escute na porta 80 antes de iniciar o Varnish.
- Cache misses altos: Revise regras VCL para remover cookies em rotas estáticas.
- Atualizações: Para upgrades, use
sudo dnf update varnish -ye reinicie o serviço.
Este tutorial para instalar e configurar o Varnish Cache no AlmaLinux garante um setup eficiente e escalável. Para configurações personalizadas, consulte a documentação oficial do Varnish. Se encontrar problemas, verifique logs em /var/log/varnish/.
Como Desinstalar o Varnish Cache no AlmaLinux
Este guia detalha o processo para desinstalar completamente o Varnish Cache de um servidor AlmaLinux, garantindo a remoção de todos os pacotes, arquivos de configuração e serviços associados. Este procedimento é útil caso o usuário decida não mais utilizar o Varnish Cache. As instruções são otimizadas para clareza e aplicáveis a um servidor AlmaLinux (versão 8 ou 9), incluindo a VPS mencionada com 8 vCPU e 32 GB de RAM. Assumimos que você tem acesso root ou privilégios sudo.
Passo 1: Parar o Serviço do Varnish
Antes de remover os pacotes, é necessário interromper o serviço ativo do Varnish para evitar conflitos:
- Pare o serviço:
sudo systemctl stop varnish
- Verifique se o serviço foi interrompido:
sudo systemctl status varnish
Confirme que o status mostra “inactive” ou “dead”.
- Desative a inicialização automática do serviço:
sudo systemctl disable varnish
Passo 2: Remover o Pacote do Varnish
O Varnish foi instalado via gerenciador de pacotes dnf. Para removê-lo:
- Desinstale o pacote principal:
sudo dnf remove varnish -y
Isso remove o binário do Varnish e os pacotes associados, mas pode deixar arquivos de configuração residuais.
- Opcionalmente, remova dependências não mais necessárias:
sudo dnf autoremove -y
Este comando limpa pacotes órfãos que foram instalados como dependências do Varnish.
Passo 3: Remover Arquivos de Configuração Residuais
Após a desinstalação, arquivos de configuração podem permanecer no sistema. Para uma remoção completa:
- Exclua os arquivos de configuração padrão:
sudo rm -rf /etc/varnish
Este diretório contém o arquivo default.vcl e outros, como o secret.
- Remova logs do Varnish, se existirem:
sudo rm -rf /var/log/varnish
- Verifique se há outros arquivos residuais:
sudo find / -name '*varnish*'
Se algum arquivo ou diretório relacionado for encontrado (por exemplo, em /usr/lib ou /usr/share), remova-os manualmente com sudo rm -rf <caminho>.
Passo 4: Reverter Configurações do Servidor Backend
Se o Varnish foi configurado para trabalhar com um servidor backend (como Apache ou Nginx) na porta 8080, reverta as configurações para que o servidor web volte a escutar na porta padrão (80):
- Para o Apache, edite o arquivo de configuração:
sudo nano /etc/httpd/conf/httpd.conf
Altere Listen 8080 para Listen 80.
- Reinicie o serviço do Apache:
sudo systemctl restart httpd
- Para o Nginx, edite o arquivo de configuração (geralmente em
/etc/nginx/nginx.confou/etc/nginx/conf.d/):
sudo nano /etc/nginx/nginx.conf
Altere a porta de listen 8080 para listen 80.
- Reinicie o Nginx:
sudo systemctl restart nginx
Passo 5: Ajustar o Firewall
Se você liberou portas específicas para o Varnish (como 80 ou 6081), remova essas regras:
- Liste as portas abertas:
sudo firewall-cmd --list-all
- Remova as portas usadas pelo Varnish:
sudo firewall-cmd --permanent --remove-port=80/tcp
sudo firewall-cmd --permanent --remove-port=6081/tcp
sudo firewall-cmd --reload
Passo 6: Verificar a Desinstalação
Confirme que o Varnish foi completamente removido:
- Verifique se o serviço não existe mais:
sudo systemctl status varnish
Você deve ver uma mensagem indicando que o serviço não foi encontrado.
- Confirme que o binário do Varnish não está presente:
varnishd -V
O comando deve retornar um erro, como “command not found”.
Considerações Finais
- Reinstalação futura: Se desejar reinstalar o Varnish, siga novamente o guia de instalação, pois todos os arquivos de configuração foram removidos.
- Logs do sistema: Caso tenha configurado ferramentas de logging adicionais (como
varnishncsa), verifique e remova seus arquivos em/etc/systemd/system/ou outros locais personalizados. - SEO e desempenho: Após remover o Varnish, monitore o desempenho do servidor web, pois a ausência do cache pode aumentar a carga no backend. Considere outras soluções de cache, como plugins de cache no nível do aplicativo (por exemplo, WP Rocket para WordPress).
Este procedimento garante a desinstalação completa do Varnish Cache no AlmaLinux, restaurando as configurações do servidor para o estado anterior. Se encontrar problemas, verifique os logs do sistema em /var/log/messages ou /var/log/dnf.log para diagnosticar erros durante a remoção.




