Como acelerar o Apache com o cache de varnish no CentOS 7

Como acelerar o Apache com o cache de varnish no CentOS 7

Cache de verniz (comumente conhecido como Verniz), é um acelerador HTTP de proxi reversa popular e de código aberto destinado a acelerar servidores da web. É projetado para pontos de extremidade de API excessivamente utilizados e também para sites dinâmicos que servem de conteúdo maciço e experimentam um tráfego alto.

Para nginx: Como instalar o cache de varnish para nginx no CentOS 7

Basicamente, ajuda a diminuir a carga da CPU; Suporta o balanceamento de carga nos servidores da web e permite que um navegador da web carregue sites rapidamente como resultado do armazenamento do cache em RAM. Várias grandes empresas o usam, incluindo Facebook, Twitter, e Wikipedia só para mencionar apenas alguns.

Requisitos

  1. Um CentOS 7 com o Apache instalado
  2. Um CentOS 7 com um endereço IP estático

Neste artigo, explicarei como instalar e usar Cache de verniz 6.5 como um front-end para um Apache servidor da web em CENTOS 7 (também funciona em RHEL 7).

Etapa 1: Instale o Apache Web Server no CentOS 7

1. Primeiro instale o servidor HTTP Apache a partir dos repositórios de software padrão do CentOS usando o Yum Package Manager da seguinte maneira.

# yum instalar httpd 
Instale o Apache no CentOS 7

2. Depois que o Apache instalou, inicie -o por enquanto e permita que ele inicie automaticamente na inicialização do sistema.

# SystemCtl Iniciar httpd # SystemCtl Ativar httpd # status SystemCtl HTTPD 
Inicie e habilite o Apache

3. Próxima atualização do sistema Firewall Regras para permitir pacotes de entrada na porta 80 Usando os comandos abaixo.

# firewall-cmd-zone = public --permanent --add-service = http # firewall-cmd--reload 
Abra a porta Apache no firewall

Etapa 2: Instale o cache de verniz no CentOS 7

4. Agora existem pacotes de RPM pré-compilados para a versão mais recente de Cache de verniz 6 (eu.e 6.5 no momento da redação), portanto, você precisa adicionar o oficial Cache de verniz repositório.

Antes disso, você precisa permitir que o repositório EPEL instale vários pacotes de dependência, como mostrado.

# yum install -y epel -release 

5. Em seguida, instale pygpgMe, Um pacote para lidar com assinaturas de GPG e Yum-Utils, uma coleção de utilitários úteis que estendem os recursos nativos de Yum de várias maneiras.

# yum install pygpgme yum-utils 

6. Agora crie um arquivo chamado /etc/yum.Repos.d/varnishcache_varnish65.repo que contém a configuração do repositório abaixo.

# vi /etc /yum.Repos.d/varnishcache_varnish65.repo 

Importante: Certifique -se de substituir el e 7 Na configuração abaixo com sua distribuição e versão do Linux:

[varnishcache_varnish65] nome = varnishcache_varnish65 baseurl = https: // packagecloud.io/varnishcache/varnish65/El/7/$ basearch repo_gpgcheck = 1 gpgcheck = 0 habilitado = 1 gpgkey = https: // packagecloud.io/varnishcache/varnish65/gpgkey sslverify = 1 sslcacert =/etc/pki/tls/certs/ca bundle.CRT Metadata_Expire = 300 [Varnishcache_varnish65-source] Nome = Varnishcache_varnish65-source Baseurl = https: // packagecloud.io/varnishcache/varnish65/el/7/Srpms repo_gpgcheck = 1 gpgCheck = 0 habilitado = 1 gpgkey = https: // packagecloud.io/varnishcache/varnish65/gpgkey sslverify = 1 sslcacert =/etc/pki/tls/certs/ca bundle.CRT metadata_expire = 300 

7. Agora execute o comando abaixo para atualizar o seu cache Yum local e instalar o pacote de cache de varnish (não se esqueça de aceitar a tecla GPG digitando y ou sim Ao instalar o pacote):

# yum -q makecache -y - -DisableRepo = '*' --enablerepo = 'varnishcache_varnish65' # yum install varnish 
Instale o cache de verniz no CentOS 7

8. Depois de instalar Cache de verniz, O principal executável será instalado como /usr/sbin/varnishd e arquivos de configuração de verniz estão localizados em /etc/varnish/:

  • /etc/varnish/padrão.vcl - Este é o principal arquivo de configuração do verniz, ele é escrito usando o Vanish Configuration Language (VCL).

9. Agora inicie o serviço de varnish, permita que ele inicie automaticamente durante a inicialização do sistema e verifique seu status para garantir que esteja em funcionamento da seguinte maneira.

# SystemCtl Iniciar varnish # SystemCtl Ativar varnish # Systemctl Status Varnish 
Inicie o cache do verniz

10. Você pode confirmar que a instalação do verniz foi bem -sucedida ao ver a localização do executável e a versão de verniz instalada em seu sistema.

$ que varnishd $ varnishd -v 
Saída de amostra
Varnishd (Varnish-6.5.1 Revisão 1DAE23376BB5EA7A6B8E9E4B9ED95CDC9469FB64) Copyright (c) 2006 Gangue de veners como direitos autorais (c) 2006-2020 Software de varnish 

Etapa 3: Configure o Apache para trabalhar com cache de verniz

11. Agora configure o Apache para trabalhar em conjunto com o cache de verniz. Por padrão, o Apache escuta na porta 80, você precisa alterar a porta HTTPD padrão para 8080 - Isso garantirá que o HTTPD funcione atrás do cache de verniz.

Você pode usar o comando sed para trocar de porta 80 para 8080 como mostrado.

# sed -i "s/ouça 80/ouça 8080/" etc/httpd/conf/httpd.conf 

Observação: Além disso, você precisa alterar a porta em sua configuração de host virtual para cada site que deseja servir via verniz. Aqui está a configuração do nosso site de teste (/etc/httpd/conf.D/Tecmint.LAN.conf).

<VirtualHost *: 8080> Documentroot "/var/www/html/tecmint.LAN/"Nome do servidor www.Tecmint.LAN # Outras diretivas aqui  

12. Em seguida, abra o arquivo de configuração do Varnish Systemd e encontre o parâmetro Exectart que especifica o verniz do porto escuta e altera seu valor de 6081 para 80 como mostrado na captura de tela.

# SystemCtl Edit --full Varnish 

A configuração deve ficar assim quando terminar.

ExecStart =/usr/sbin/varnishd -a: 80 -f/etc/varnish/inadim.Vcl -s Malloc, 256m 
Alterar porta de cache de verniz

13. Em seguida, configure o Apache como um servidor de back -end para o proxy de verniz, no /etc/varnish/padrão.vcl arquivo de configuração.

# vi/etc/varnish/padrão.vcl 

Encontre o Processo interno seção e defina o IP e a porta do host. Abaixo está a configuração padrão do back -end, defina -o para apontar para o seu servidor de conteúdo real.

Padrão de back -end  .host = "127.0.0.1 "; .porta = "8080";  

Se o seu servidor de back -end estiver em execução em um servidor diferente com endereço 10.42.1.10, então o parâmetro do host deve apontar para este endereço IP.

Servidor de back -end1  .host = "10.42.1.10 "; .porta = "8080";  

14. Depois de executar todas as configurações necessárias, reinicie o HTTPD e o cache de verniz para efetuar as mudanças acima.

# Systemctl Daemon-Reload # SystemCtl Reiniciar Httpd # SystemCtl Reiniciar Varnish 

Etapa 4: Teste o cache de verniz no Apache

15. Por fim, teste, se o verniz estiver ativado e trabalhando com o Httpd serviço usando o comando curl abaixo, que pode ser usado para visualizar o cabeçalho HTTP.

# Curl -i http: // localhost 
Saída de amostra
Http/1.1 200 OK DATA: Qua, 06 de janeiro de 2021 08:36:07 GMT Server: Apache/2.4.6 (CENTOS) Último modificado: quinta-feira, 16 de outubro de 2014 13:20:58 GMT ETAG: "1321-5058A1E728280" Acesso de aceitação: Bytes Content-Length: 4897-Type: Text/Html; charset = UTF-8 X-Varnish: 131085 Idade: 0 via: 1.1 verniz (verniz/6.5) Conexão: Keep-alive 

Para obter mais informações, consulte o verniz cache github repositório: https: // github.com/varnishcache/varnish-cache

Neste tutorial, explicamos como configurar Cache de verniz 6.5 Proxy para o Apache HTTP Server no CentOS 7. Caso você tenha alguma dúvida ou idéias adicionais para compartilhar, use o formulário de feedback abaixo para escrever de volta para nós.