Como acelerar o nginx com cache de varnish no CentOS 7

Como acelerar o nginx com cache de varnish no CentOS 7

Cache de verniz (também referido como Verniz) é um acelerador HTTP de alto desempenho e de alto desempenho projetado para acelerar servidores da Web. Em nossos últimos artigos, explicamos como configurar o cache de varnish para o Apache no CentOS 7 e no CentOS 8.

Neste artigo, mostraremos como instalar e usar Cache de verniz como um front-end para o servidor HTTP nginx em CENTOS 7. Este guia também deve funcionar em RHEL 7.

Requisitos

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

Etapa 1: Instale o Nginx Web Server no CentOS 7

1. Comece instalando o Nginx http Servidor dos repositórios de software CentOS padrão usando o Yum Package Manager, da seguinte maneira.

# yum install nginx 
Instale o nginx no CentOS 7

2. Quando a instalação terminar, inicie o Nginx Serviço por enquanto e permita que ele inicie automaticamente na inicialização do sistema.

# SystemCtl Iniciar nginx # SystemCtl Ativar nginx # Systemctl Status nginx 
Inicie e habilite o nginx na inicialização

3. Agora modifique as regras do firewall do sistema para permitir pacotes de entrada na porta 80 Usando os comandos abaixo.

# firewall-cmd-zone = public --permanent --add-port = 80/tcp # firewall-cmd--reload # firewall-cmd-zone = public --permanent --ad-port = 8080/tcp # Firewall-CMD--Reload
Abra a porta nginx 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 deste artigo), portanto, você precisa adicionar o repositório oficial de cache de verniz.

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_varnish5.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 do verniz e da versão instalada no 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 nginx para trabalhar com cache de verniz

11. Nesta etapa, você precisa configurar o nginx para trabalhar com cache de verniz. Por padrão, o nginx escuta na porta 80, você deve alterar a porta Nginx padrão para 8080 Então fica atrás do cache de verniz.

Abra o arquivo de configuração nginx /etc/nginx/nginx.conf e encontre a linha ouça 80 e mude para ouvir 8080 Como no bloco de servidor mostrado na captura de tela abaixo.

# vi/etc/nginx/nginx.conf 
Configurar a porta de escuta nginx

Observação: Isso deve ser feito em todos os arquivos de configuração do bloco de servidor (geralmente criados em /etc/nginx/conf.d/) para sites que você deseja servir por meio Verniz.

12. Em seguida, abra o arquivo de configuração do serviço de varnish e encontre o parâmetro Exectart que especifica o verniz do porto escuta e altera seu valor de 6081 para 80.

# SystemCtl Edit --full Varnish 

A linha deve parecer como mostrado.

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 nginx 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";  

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

# SystemCtl Daemon-Reload # SystemCtl Restart nginx # SystemCtl Reiniciar verniz 

Etapa 4: Teste o cache de verniz no nginx

15. Finalmente, teste se o cache do verniz está ativado e trabalhando com o serviço nginx usando o comando CURL abaixo para visualizar o cabeçalho HTTP.

# Curl -i http: // localhost 
Saída de amostra
Http/1.1 200 OK Server: Nginx/1.16.1 Data: Qua, 06 de janeiro de 2021 09:24:18 GMT Content-Type: Text/Html Length-Length: 4833 Último modificado: sex, 16 de maio de 2014 15:12:48 GMT ETAG: "53762AF0-12E1" x- Verniz: 2 Idade: 0 via: 1.1 verniz (verniz/6.5) Ranges de aceitação: Conexão de bytes: Keep-Alive 

Você pode encontrar informações adicionais do varnish cache github repositório: https: // github.com/varnishcache/varnish-cache

Neste tutorial, explicamos como configurar o cache de varnish para o servidor HTTP nginx no CentOS 7. Use o formulário de comentário abaixo para nos enviar qualquer dúvida ou idéias extras.