Servidores Web

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.

  1. Instale o EPEL:
   sudo dnf install epel-release -y
  1. 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.)

  1. 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.

  1. 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.
  1. 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.
  1. 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.conf para escutar na porta 8080:
    Listen 8080
  • Reinicie o Apache:
    sudo systemctl restart httpd

Passo 4: Iniciar e Habilitar o Serviço Varnish

  1. Inicie o serviço:
   sudo systemctl start varnish
  1. Habilite para inicialização automática:
   sudo systemctl enable varnish
  1. Verifique o status:
   sudo systemctl status varnish

Procure por “active (running)” para confirmar.

  1. Teste a configuração:
  • Use curl para 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 varnishstat para 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=128k no ExecStart para sessões maiores. Monitore o uso de RAM com top ou htop (instale com sudo 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 -y e 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:

  1. Pare o serviço:
   sudo systemctl stop varnish
  1. Verifique se o serviço foi interrompido:
   sudo systemctl status varnish

Confirme que o status mostra “inactive” ou “dead”.

  1. 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:

  1. 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.

  1. 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:

  1. 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.

  1. Remova logs do Varnish, se existirem:
   sudo rm -rf /var/log/varnish
  1. 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):

  1. Para o Apache, edite o arquivo de configuração:
   sudo nano /etc/httpd/conf/httpd.conf

Altere Listen 8080 para Listen 80.

  1. Reinicie o serviço do Apache:
   sudo systemctl restart httpd
  1. Para o Nginx, edite o arquivo de configuração (geralmente em /etc/nginx/nginx.conf ou /etc/nginx/conf.d/):
   sudo nano /etc/nginx/nginx.conf

Altere a porta de listen 8080 para listen 80.

  1. 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:

  1. Liste as portas abertas:
   sudo firewall-cmd --list-all
  1. 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:

  1. 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.

  1. 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.

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo