Varnish Cache · 7 min read · Feb 12, 2026

Instalar Varnish Cache 6 para Apache/Nginx no CentOS 8

Varnish Cache é um poderoso proxy HTTP reverso usado para acelerar aplicações web que está disponível como software Open-Source. O Varnish armazena em cache tanto conteúdo estático quanto dinâmico. Ele lida com todas as requisições de entrada antes que elas cheguem ao seu servidor web. Ele fica entre um navegador web e o servidor web Apache ou Nginx. O cache do Varnish armazena todas as requisições de página recebidas na memória, para que os servidores web não precisem criar a mesma página web repetidamente.

Neste post, mostraremos como instalar o cache do Varnish com Apache e Nginx no CentOS 8.

Pré-requisitos

  • Um servidor rodando CentOS 8.
  • Uma senha de root configurada no seu servidor.

Começando

Antes de começar, é recomendado atualizar os pacotes do seu sistema para a versão mais recente. Você pode atualizá-los executando o seguinte comando:

dnf update -y

Uma vez que todos os pacotes estejam atualizados, você pode prosseguir para o próximo passo.

Instalar Varnish

Por padrão, o pacote Varnish está incluído no repositório padrão do CentOS 8. Você pode instalá-lo executando o seguinte comando:

dnf install varnish -y

Após instalar o Varnish, edite o arquivo de configuração padrão do Varnish e defina o endereço do servidor web Nginx ou Apache.

nano /etc/varnish/default.vcl

Altere as seguintes linhas:

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

Salve e feche o arquivo quando terminar.

Configurar Varnish

Por padrão, o Varnish escuta na porta 6081. Portanto, você precisará configurar o Varnish para escutar na porta 80. Você pode configurá-lo editando o arquivo varnish.service:

nano /lib/systemd/system/varnish.service

Encontre a seguinte linha:

ExecStart=/usr/sbin/varnishd -a :6081 -f /etc/varnish/default.vcl -s malloc,256m

Substitua-a pela seguinte linha:

ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

Salve e feche o arquivo e, em seguida, recarregue o daemon do systemd para aplicar as alterações:

systemctl daemon-reload

Em seguida, inicie o serviço Varnish e habilite-o para iniciar na reinicialização do sistema com o seguinte comando:

systemctl start varnish  
systemctl enable varnish

Você também pode verificar o status do Varnish com o seguinte comando:

systemctl status varnish

Você deve obter a seguinte saída:

? varnish.service - Varnish Cache, um acelerador HTTP de alto desempenho
   Loaded: loaded (/usr/lib/systemd/system/varnish.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-03-12 04:17:32 EST; 4s ago
  Process: 6391 ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m (code=exited, status=0/SUCCESS)
 Main PID: 6392 (varnishd)
    Tasks: 217
   Memory: 99.5M
   CGroup: /system.slice/varnish.service
           ??6392 /usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
           ??6402 /usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

Mar 12 04:17:32 masternode systemd[1]: Starting Varnish Cache, um acelerador HTTP de alto desempenho...
Mar 12 04:17:32 masternode varnishd[6391]: Debug: Version: varnish-6.0.6 revision 29a1a8243dbef3d973aec28dc90403188c1dc8e7
Mar 12 04:17:32 masternode varnishd[6391]: Debug: Platform: Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Mar 12 04:17:32 masternode varnishd[6392]: Version: varnish-6.0.6 revision 29a1a8243dbef3d973aec28dc90403188c1dc8e7
Mar 12 04:17:32 masternode varnishd[6392]: Platform: Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Mar 12 04:17:32 masternode varnishd[6391]: Debug: Child (6402) Started
Mar 12 04:17:32 masternode varnishd[6392]: Child (6402) Started
Mar 12 04:17:32 masternode varnishd[6392]: Child (6402) said Child starts
Mar 12 04:17:32 masternode systemd[1]: Started Varnish Cache, um acelerador HTTP de alto desempenho.

Neste ponto, o Varnish está iniciado e escutando na porta 80. Você pode verificar com o seguinte comando:

ss -antpl | grep varnishd

Você deve obter a seguinte saída:

LISTEN    0         10               127.0.0.1:34977            0.0.0.0:*        users:(("varnishd",pid=1532,fd=11))                                            
LISTEN    0         128                0.0.0.0:80               0.0.0.0:*        users:(("cache-main",pid=1542,fd=6),("varnishd",pid=1532,fd=6))                
LISTEN    0         128                   [::]:80                  [::]:*        users:(("cache-main",pid=1542,fd=7),("varnishd",pid=1532,fd=7))                
LISTEN    0         10                   [::1]:34909               [::]:*        users:(("varnishd",pid=1532,fd=10))                                            

Neste ponto, o Varnish está instalado e configurado. Você pode agora prosseguir para o próximo passo.

Instalar e Configurar Nginx para Trabalhar com Varnish

Primeiro, você precisará instalar o pacote Nginx no seu servidor. Você pode instalá-lo com o seguinte comando:

dnf install nginx -y

Uma vez instalado, você precisará alterar a porta de escuta do Nginx de 80 para 8080. Você pode fazer isso editando o arquivo de configuração padrão do Nginx:

nano /etc/nginx/nginx.conf

Altere as seguintes linhas:

        listen       8080 default_server;
        listen       [::]:8080 default_server;

Salve e feche o arquivo e, em seguida, verifique o Nginx para qualquer erro de sintaxe usando o seguinte comando:

ginx -t

Você deve obter a seguinte saída:

nginx: o arquivo de configuração /etc/nginx/nginx.conf a sintaxe está ok
nginx: arquivo de configuração /etc/nginx/nginx.conf teste é bem-sucedido

Em seguida, inicie o serviço Nginx e habilite-o para iniciar na reinicialização do sistema:

systemctl start nginx  
systemctl enable nginx

Você também pode verificar a porta de escuta do Nginx com o seguinte comando:

ss -antpl | grep 8080

Você deve obter a seguinte saída:

LISTEN    0         128                0.0.0.0:8080             0.0.0.0:*        users:(("nginx",pid=5569,fd=8),("nginx",pid=5568,fd=8))                        
LISTEN    0         128                   [::]:8080                [::]:*        users:(("nginx",pid=5569,fd=9),("nginx",pid=5568,fd=9))                        

Neste ponto, o cache do Varnish está instalado e configurado para encaminhar todas as requisições que chegam na porta 80 para o servidor web Nginx que está escutando na porta 8080.

Você pode verificar se o cache do Varnish está funcionando ou não com o seguinte comando:

curl -I http://localhost

Você deve obter a seguinte saída:

HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Fri, 12 Mar 2021 09:18:32 GMT
Content-Type: text/html
Content-Length: 4057
Last-Modified: Mon, 07 Oct 2019 21:16:24 GMT
ETag: "5d9bab28-fd9"
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.0)
Accept-Ranges: bytes
Connection: keep-alive

Instalar e Configurar Apache para Trabalhar com Varnish

Primeiro, você precisará instalar o pacote do servidor web Apache no seu sistema. Você pode instalá-lo com o seguinte comando:

dnf install httpd -y

Após instalar o Apache, edite o arquivo de configuração padrão do Apache e altere a porta de escuta de 80 para 8080.

nano /etc/httpd/conf/httpd.conf

Altere a seguinte linha:

Listen 8080

Salve e feche o arquivo e, em seguida, inicie o serviço Apache e habilite-o para iniciar na reinicialização do sistema com o seguinte comando:

systemctl start httpd  
systemctl enable httpd

Você também pode verificar a porta de escuta do Apache com o seguinte comando:

ss -antpl | grep httpd

Você deve obter a seguinte saída:

LISTEN    0         128                      *:8080                   *:*        users:(("httpd",pid=7556,fd=4),("httpd",pid=7555,fd=4),("httpd",pid=7554,fd=4),("httpd",pid=7552,fd=4))

Neste ponto, o cache do Varnish está instalado e configurado para encaminhar todas as requisições que chegam na porta 80 para o servidor web Apache que está escutando na porta 8080.

Você pode verificar se o cache do Varnish está funcionando ou não com o seguinte comando:

curl -I http://localhost

Você deve obter a seguinte saída:

Date: Fri, 12 Mar 2021 09:21:14 GMT
Server: Apache/2.4.37 (centos)
Content-Location: index.html.zh-CN
Vary: negotiate,accept-language
TCN: choice
Last-Modified: Fri, 14 Jun 2019 03:37:43 GMT
ETag: "fa6-58b405e7d6fc0;5bd5365602e05"
Accept-Ranges: bytes
Content-Length: 4006
Content-Type: text/html; charset=UTF-8
Content-Language: zh-cn
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.0)
Connection: keep-alive

Trabalhando com a Linha de Comando do Varnish

O Varnish vem com várias utilidades úteis que ajudam você a monitorar e controlar o Varnish.

varnishadm é uma utilidade de linha de comando usada para listar os backends configurados.

varnishadm

Você deve ver a seguinte saída:

200        
-----------------------------
Varnish Cache CLI 1.0
-----------------------------
Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
varnish-6.0.6 revision 29a1a8243dbef3d973aec28dc90403188c1dc8e7

Type 'help' for command list.
Type 'quit' to close CLI session.

Agora, execute o seguinte comando para listar todos os backends:

varnish> backend.list

Você deve ver a seguinte saída:

200        
Backend name                   Admin      Probe                Last updated
boot.default                   probe      Healthy (no probe)   Sat, 13 Mar 2021 03:00:02 GMT

varnishlog

A utilidade varnishlog é usada para exibir os logs de todas as requisições de usuários.

varnishlog

Você deve obter a seguinte saída:

*   << BeReq    >> 6         
-   Begin          bereq 5 fetch
-   VCL_use        boot
-   Timestamp      Start: 1615604631.507187 0.000000 0.000000
-   BereqMethod    GET
-   BereqURL       /
-   BereqProtocol  HTTP/1.1
-   BereqHeader    Host: 69.87.218.214
-   BereqHeader    Upgrade-Insecure-Requests: 1
-   BereqHeader    User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36
-   BereqHeader    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
-   BereqHeader    Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
-   BereqHeader    X-Forwarded-For: 106.213.193.241
-   BereqHeader    Accept-Encoding: gzip
-   BereqHeader    X-Varnish: 6
-   VCL_call       BACKEND_FETCH
-   VCL_return     fetch
-   BackendOpen    31 boot.default 127.0.0.1 8080 127.0.0.1 58860
-   BackendStart   127.0.0.1 8080
-   Timestamp      Bereq: 1615604631.507458 0.000270 0.000270
-   Timestamp      Beresp: 1615604631.507844 0.000657 0.000386
-   BerespProtocol HTTP/1.1
-   BerespStatus   200
-   BerespReason   OK
-   BerespHeader   Server: nginx/1.14.1
-   BerespHeader   Date: Sat, 13 Mar 2021 03:03:51 GMT
-   BerespHeader   Content-Type: text/html
-   BerespHeader   Content-Length: 4057
-   BerespHeader   Last-Modified: Mon, 07 Oct 2019 21:16:24 GMT

varnishstat

O comando varnishstat fornece informações sobre estatísticas em memória, armazenamento, threads criadas e objetos deletados.

varnishstat

Você deve ver a seguinte tela:

Estatísticas do Varnish

varnishtop

O comando varnishtop lê os logs de memória compartilhada do varnishd e apresenta uma lista continuamente atualizada das entradas de log mais comumente ocorridas.

varnishtop

Você deve ver a seguinte tela:

varnishtop

varnishhist

O varnishhist analisa os logs do varnish e imprime as últimas n requisições pelo seu processamento.

varnishhist

Você deve ver a seguinte tela:

varnishhist

Conclusão

No guia acima, você aprendeu como instalar e configurar o cache do Varnish com o servidor web Apache e Nginx. Você pode agora implementar o cache do Varnish no ambiente de produção e acelerar o desempenho do seu site. Sinta-se à vontade para me perguntar se você tiver alguma dúvida.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.