Como instalar e configurar o Varnish no Ubuntu 20.04

Introdução

A administração de serviços web é uma tarefa elementar hoje em dia na gestão de um servidor. É por isso que sempre existem ferramentas que nos ajudam na tarefa. Um deles é a aceleração do servidor web, algo que parece básico em nossos tempos.

Para te ajudar com isso é que existe este post para que você possa instalar e configurar o Varnish no Ubuntu 20.04.

O que é o Varnish?

De acordo com o site oficial do Varnish:

Varnish Cache é um acelerador de aplicativo da web também conhecido como proxy reverso HTTP de cache. Você o instala na frente de qualquer servidor que fala HTTP e o configura para armazenar o conteúdo em cache. O Varnish Cache é muito, muito rápido. Normalmente acelera a entrega com um fator de 300 - 1000x, dependendo da sua arquitetura

Uma das principais características do Varnish Cache, além de seu desempenho, é a flexibilidade de sua linguagem de configuração, VCL. A VCL permite que você escreva políticas sobre como as solicitações de entrada devem ser tratadas. Nessa política, você pode decidir qual conteúdo deseja veicular, de onde deseja obter o conteúdo e como a solicitação ou resposta deve ser alterada.

Outro aspecto interessante é que o Varnish possui um código aberto lançado sob a licença FreeBSD. Este projeto nasceu em 2005 portanto tem uma longa trajetória que tem permitido ganhar experiência.

Portanto, o Varnish é uma ferramenta muito útil para nossos servidores web, especialmente quando enfrentamos muito tráfego.

Instale e configure o Varnish no Ubuntu 20.04

O Varnish é muito flexível e é por isso que pode ser configurado tanto no Nginx quanto no Apache . Sendo este último, a escolha atual por ser muito popular.

Primeira etapa: instalar e configurar o Apache

A primeira etapa é instalar o Apache no Ubuntu 20.04 e, em seguida, fazer algumas configurações para configurá-lo com o Varnish.

Portanto, em um ambiente de linha de comando primeiro, atualize o sistema operacional.

sudo apt update
sudo apt upgrade

Depois disso, instale o Apache do repositório oficial do Ubuntu 20.04.

sudo apt install apache2

Se o seu servidor estiver rodando atrás de um Firewall, certifique-se de abrir as portas do Apache.

sudo ufw allow http
sudo ufw allow https

Agora você precisa alterar a porta que o Apache usa por padrão, 80 para isso você precisa modificar o arquivo ports.conf

sudo nano /etc/apache2/ports.conf

E procure a linha de escuta e defina outra porta. Nesse caso, vou escolher 8080

Listen 8080

Salve as alterações e feche o editor.

Agora você deve fazer o mesmo no arquivo de configuração padrão do Virtualhost:

sudo nano /etc/apache2/sites-available/000-default.conf

E substitua a linha VirtualHost por esta:

Salve as alterações e feche o arquivo.

Lembre-se de que toda vez que você adiciona um novo VirtualHost, você deve alterar a porta em seu arquivo de configuração.

Você pode testar a sintaxe das configurações para erros:

sudo apachectl configtest
Syntax OK

Finalmente, para aplicar as mudanças, reinicie o Apache.

sudo systemctl restart apache2

Agora vamos para o varnish

Segunda etapa: Instale o Varnish no Ubuntu 20.04

O Varnish está disponível nos repositórios oficiais do Ubuntu, então a instalação é bem fácil de fazer.

Portanto, para instalar o Varnish, execute o seguinte comando:

sudo apt install varnish

Você pode iniciar o serviço e habilitá-lo para ser executado na inicialização do sistema

sudo systemctl start varnish
sudo systemctl enable varnish

Depois disso, você deve fazer algumas configurações para que funcione com o Apache.

Então, Varnish usa VCL para suas configurações, então temos que editar o arquivo de configuração padrão.

Antes disso, faça um backup:

cd /etc/varnish/
sudo cp default.vcl default.vcl.bak
sudo nano default.vcl

E dentro da seção padrão do back-end, certifique-se de que ele tenha a seguinte configuração:

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

Como você pode notar, estamos indicando que ele escutará na porta 8080 em localhost para o Apache.

E também é necessário fazer alterações em outro arquivo de configuração:

cd /etc/default/
sudo nano varnish

Na seção não comentada de, DAEMON_OPTS altere a porta de escuta e deixe-a como segue:

DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"

Salve as alterações e feche o arquivo.

Agora é hora de fazer uma última alteração e é no arquivo que gerencia o serviço Varnish onde você deve modificar a porta de escuta.

sudo nano /lib/systemd/system/varnish.service

Em seguida, localize a linha ExecStart e substitua-a por esta

ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m

Salve as alterações e feche o arquivo.

Para aplicar as mudanças, atualize os serviços Systemd

sudo systemctl daemon-reload

E reinicie o Varnish

sudo systemctl restart varnish

Para verificar se está tudo bem tem que solicitar o site com o comando Curl

curl -I seusite.com

Substitua seusite.com< pelo endereço do seu site.

Você deve receber uma saída semelhante a esta:

HTTP/1.1 200 OK
Date: Mon, 11 Oct 2021 16:30:3 GMT
Server: Apache/2.4.41 (Ubuntu)
Last-Modified: Mon, 11 Oct 2021 16:30:35 GMT
Vary: Accept-Encoding
Content-Type: text/html
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.2)
ETag: W/"5fc1-5ba52f8dzk12g-gzip"
Accept-Ranges: bytes
Content-Length: 7252
Connection: keep-alive

Desta forma, o Varnish será instalado e configurado.

Conclusão

O Varnish junto com o Apache é uma boa combinação que ajudará nosso servidor web a processar melhor todos os sites que podemos implantar. E como pudemos demonstrar, a configuração não é um assunto complicado.

Compartilhe esse post:

Adicionar Comentário

O seu endereço de e-mail não será publicado.