Como acelerar o Apache com verniz HTTP cache no Ubuntu 18.04 LTS
o Varnish é um servidor proxy focado no cache HTTP. Ele é projetado como um acelerador HTTP e pode atuar como um proxy reverso para o seu servidor web (Apache ou Nginx). O verniz tem sido usado para sites de alto perfil e alto tráfego, incluindo Wikipedia, The Guardian e The New York Times.
neste tutorial, mostraremos como instalar e configurar o Varnish http accelerator como um proxy reverso para o servidor web Apache. O servidor Web Real Apache será executado sob uma porta HTTP não padrão (em execução na porta 8080). E o verniz será executado como o proxy reverso na porta HTTP 80. Para este guia, usaremos o servidor Ubuntu 18.04 LTS.
o Que vamos fazer
- Instalar o servidor Web Apache
- Alterar a Porta Padrão do Apache
- Instalar o Verniz
- Configurar Verniz
- Testar a configuração
pré-Requisitos
- Ubuntu 18.04 LTS
- privilégios de Root
Etapa 1-Instale o servidor web Apache
para iniciar, instale o servidor web Apache. Por padrão, ele está disponível no repositório Ubuntu.
atualize o repositório Ubuntu e instale o Apache usando o comando apt.
apt update
apt install -y apache2
após a conclusão da instalação, inicie o serviço Apache e habilite-o a ser executado automaticamente no tempo de inicialização do sistema usando os seguintes comandos systemctl.
systemctl start apache2
systemctl enable apache2
o servidor Apache foi instalado.
em seguida, para permitir que todos acessem o servidor da web, devemos permitir HTTP e HTTPS em nossa regra de firewall. Por padrão, o Ubuntu vem com um pacote de firewall chamado UFW.
abra novas portas SSH, HTTP e HTTPS usando os seguintes comandos UFW.
ufw allow ssh
ufw allow http
ufw allow https
agora Inicie o serviço de firewall e ative-o para iniciar automaticamente na inicialização do sistema.
ufw enable
digite ‘y’ e pressione Enter para confirmar.
novas portas para HTTP, HTTPS e SSH foram abertas e podem ser acessadas de fora da rede.
se você quiser testar o servidor web Apache, você pode usar o comando netstat e verifique se o apache está sendo executado na porta 80.
netstat -plntu
ou você pode usar o seguinte comando curl.
curl -I hakase-labs.co
você deve obter o resultado como mostrado abaixo.
Etapa 2-Altere a porta padrão do Apache
neste tutorial, usaremos o Apache como servidor de back-end e ele não será executado sob a porta HTTP padrão 80. O servidor web Apache será executado na porta 8080 como back-end, e a porta HTTP padrão 80 será usada pelo ‘verniz’.
para alterar a porta apache padrão, precisamos editar as portas da configuração apache.conf ‘e toda a configuração do host virtual no diretório ‘sites-available’.
vá para o diretório de configuração do Apache.
cd /etc/apache2
Substitua a porta ’80’ por ‘8080’ nas portas de configuração do Apache’.conf ‘e todos os arquivos de host virtual no diretório ‘sites disponíveis’. Podemos fazer isso executando os seguintes comandos sed.
sed -i -e 's/80/8080/g' ports.conf
sed -i -e 's/80/8080/g' sites-available/*
em seguida, teste a configuração do Apache e verifique se não há erro e reinicie o serviço Apache.
apachectl configtest
systemctl restart apache2
agora o Apache está sendo executado na porta HTTP ‘8080’, verifique-o usando o comando ‘netstat’, conforme mostrado abaixo.
netstat -plntu
certifique-se de ter o resultado abaixo.
então você pode ver que o servidor web Apache está sendo executado na porta ‘8080’.
Etapa 3-Instale o Varnish http Accelerator
nesta etapa, instalaremos o Varnish no repositório Ubuntu. E para este guia, usaremos verniz 5.2.
instale o varnish usando o seguinte comando apt.
apt install -y varnish
após a conclusão da instalação, inicie o Varnish e ative-o para iniciar automaticamente na inicialização do sistema.
systemctl start varnish
systemctl enable varnish
o verniz foi instalado no sistema Ubuntu 18.04.
por padrão, ele está sendo executado nas portas ‘6081’ para endereço público e’ 6082 ‘ para endereço localhost. Verifique-o usando o comando netstat abaixo.
netstat -plntu
e você obterá a porta de verniz padrão.
Etapa 4-Configure o Varnish como um Proxy reverso para Apache
nesta etapa, configuraremos o varnish na frente do servidor web Apache. O Varnish será executado na porta http 80, e todas as solicitações dos clientes serão tratadas por ele, antes de serem enviadas para o servidor web Apache em execução na porta 8080.
– configuração de back-end
vá para o diretório de configuração’ verniz ‘e faça backup do arquivo padrão’ padrão.vcl’.
cd /etc/varnish/
cp default.vcl default.vcl.aseli
edite o padrão da configuração do verniz.vcl ‘ usando o editor vim.
vim default.vcl
defina a configuração ‘backend’ na linha 16. O back-end para a nossa configuração é Apache, e está sendo executado na porta 8080. Portanto, a configuração do verniz para nossa configuração do apache deve ser a seguinte:
backend default {
.host = "127.0.0.1";
.port = "8080";
}
salvar e sair.
– executando verniz na porta 80
em seguida, precisamos alterar as portas de verniz padrão. As portas padrão para o verniz são ‘6081’ e ‘6082’, e precisamos alterar a porta para a porta HTTP 80 (apenas para endereço público).
edite a configuração do parâmetro varnish no diretório’ /etc/default’.
cd /etc/default/
vim varnish
edite a linha ‘DAEMON_OPTS’, altere a porta padrão’ 6081 ‘para endereço público com porta HTTP padrão’ 80 ‘ como mostrado abaixo.
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
salvar e sair.
em seguida, precisamos editar o verniz do arquivo de serviço de verniz.serviço”. Vá para o diretório ‘/ lib / systemd/ system ‘ e edite o arquivo de serviço usando vim.
cd /lib/systemd/system/
vim varnish.service
na linha’ ExecStart’, altere o comando varnish start como abaixo.
ExecStart=/usr/sbin/varnishd -j do unix,o usuário=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/padrão.vcl-s / etc / varnish / secret-s malloc, 256m
salvar e sair.
recarregue a configuração do serviço systemd e reinicie o varnish.
systemctl daemon-reload
systemctl restart varnish
Agora verifique o verniz e verifique se ele está sendo executado na porta HTTP 80.
netstat -plntu
portanto, o Varnish agora está sendo executado na porta HTTP 80 como front-end para o servidor web Apache, que está na porta 8080.
Etapa 5-Teste
teste usando o comando curl.
curl -I hakase-labs.co
certifique-se de obter o cabeçalho HTTP como mostrado abaixo.
verificando a partir do navegador da web, o URL do meu servidor de teste é http://hakase-labs.co/. Escolha o URL do seu servidor aqui.
e ainda obtemos conteúdo Apache.
verifique o log de verniz usando o comando ‘varnishncsa’.
varnishncsa
e obtemos log apenas do log de acesso Apache.
a instalação e configuração do verniz para o servidor web Apache foi concluída.