Como instalar o Varnish Cache 6 para Nginx no CentOS/Rhel 8

Como instalar o Varnish Cache 6 para Nginx no CentOS/Rhel 8

Cache de verniz (comumente referido como Verniz) é um de código aberto, poderoso e rápido proxy reverso Http acelerador com arquitetura moderna e linguagem de configuração flexível. Ser um proxy reverso significa simplesmente que é um software que você pode implantar na frente do seu servidor da web (que é o servidor de origem ou back -end), como Nginx, receber solicitações HTTP dos clientes e encaminhá -las para o servidor de origem para processamento. E entrega a resposta do servidor de origem aos clientes.

Verniz atua como um intermediário entre Nginx e clientes Mas com alguns benefícios de desempenho. Seu principal objetivo é tornar seus aplicativos carregar mais rápido, trabalhando como um mecanismo de cache. Ele recebe solicitações de clientes e os encaminha para o back -end uma vez para armazenar em cache o conteúdo solicitado (armazenar arquivos e fragmentos de arquivos na memória). Em seguida, todos os pedidos futuros de conteúdo exatamente semelhante serão servidos do cache.

Isso faz com que seus aplicativos da web carreguem mais rápido e indiretamente melhora o desempenho geral do seu servidor da web porque Verniz Servirá o conteúdo da memória em vez de arquivos de processamento nginx do disco de armazenamento.

Além de armazenar em cache, Verniz Também possui vários outros casos de uso, incluindo um roteador de solicitação HTTP e balanceador de carga, firewall de aplicativos da web e muito mais.

O verniz está configurado usando o altamente extensível embutido Linguagem de configuração de verniz (Vcl) que permite escrever políticas sobre como os pedidos de entrada devem ser tratados. Você pode usá -lo para criar soluções, regras e módulos personalizados.

Neste artigo, seguiremos as etapas para instalar o Nginx servidor da web e Cache de verniz 6 em um novo CENTOS 8 ou RHEL 8 servidor. RHEL 8 Os usuários devem garantir que possam ativar a assinatura do Redhat.

Para configurar, um completo Lemp empilhe em vez de instalar o Nginx servidor da web sozinho, confira os seguintes guias.

  1. Como instalar o servidor Lemp no CentOS 8
  2. Como instalar o servidor Lemp no RHEL 8

Etapa 1: Instale o Nginx Web Server no CentOS/Rhel 8

1. O CENTOS/RHEL 8 navios com a versão mais recente de Nginx Software do servidor da web, então o instalaremos no repositório padrão usando os seguintes comandos DNF.

# dnf update # dnf install nginx 

2. Uma vez Nginx Instalado, você precisa iniciar, ativar e verificar o status usando os seguintes comandos SystemCTL.

# SystemCtl Iniciar nginx # SystemCtl Ativar nginx # Systemctl Status nginx 
Verifique o status do serviço nginx

3. Se você estiver um pouco curioso, também pode verificar o soquete Nginx TCP, que é executado na porta 80 por padrão, usando o seguinte comando SS.

# ss -tpln 
Verifique a porta Nginx TCP

4. Se você estiver executando o firewall no sistema, atualize as regras do firewall para permitir solicitações para um servidor da web.

# firewall-cmd-zone = public --permanent --add-service = http # firewall-cmd--reload 

Etapa 2: Instalando o cache de verniz 6 no CentOS/Rhel 8

5. O CENTOS/RHEL 8 Fornece uma Varnish Cache DNF módulo por padrão que contém versão 6.0 Lts (Suporte de longo termo).

Para instalar o módulo, execute o seguinte comando.

# módulo DNF Instalar verniz 
Instale o cache de verniz no CentOS 8

6. Depois que a instalação do módulo estiver concluída, você poderá confirmar a versão de Verniz instalado em seu sistema.

# varnishd -v 
Verifique a versão do verniz

7. Depois de instalar Cache de verniz, o principal comando executável instalado em /usr/sbin/varnishd e arquivos de configuração de verniz estão localizados em /etc/varnish/.

O arquivo /etc/varnish/padrão.vcl é o principal arquivo de configuração de verniz escrito usando Vcl e /etc/verniz/segredo é o arquivo secreto de verniz.

8. Em seguida, inicie o Verniz Serviço, Ative-o para iniciar automaticamente durante a inicialização do sistema e confirme que está em funcionamento e em execução.

# SystemCtl Iniciar varnish # SystemCtl Ativar varnish # Systemctl Status Varnish 
Verifique o cache de verniz no CentOS 8

Etapa 3: Configurando o nginx para trabalhar com cache de verniz

9. Nesta seção, mostraremos como configurar Cache de verniz para correr na frente de Nginx. Por padrão, o nginx escuta na porta 80, Normalmente, todo bloco de servidor (ou host virtual) está configurado para ouvir nesta porta.

Por exemplo, dê uma olhada no bloco de servidor nginx padrão configurado no arquivo de configuração principal (/etc/nginx/nginx.conf).

# vi/etc/nginx/nginx.conf 

Procure a seção do bloco do servidor, como mostrado na captura de tela a seguir.

Configuração do bloco de servidor nginx

10. Para correr Verniz em frente de Nginx, você deve alterar a porta Nginx padrão de 80 para 8080 (ou qualquer outra porta de sua escolha).

Isso deve ser feito em todos os arquivos futuros de configuração do bloco de servidores (geralmente criados em /etc/nginx/conf.d/) para sites ou aplicativos da web que você deseja servir por meio Verniz.

Por exemplo, o bloco de servidor para o nosso site de teste Tecmint.LAN é /etc/nginx/conf.D/Tecmint.LAN.conf e tem a seguinte configuração.

servidor Ouça 8080; Server_name www.Tecmint.LAN; raiz/var/www/html/tecmint.LAN/; localização /  error_page 404/404.html; Localização = /40x.html  error_page 500 502 503 504 /50x.html; Localização = /50x.html  
Configuração do bloco de servidor nginx

Importante: Lembre -se de desativar o bloco de servidor padrão comentando sua seção de configuração no /etc/nginx/nginx.conf arquivo como mostrado na captura de tela a seguir. Isso permite que você comece a executar outros sites/aplicativos em seu servidor, caso contrário, o NGINX sempre direcionará solicitações para o bloco de servidor padrão.

Desativar o bloco do servidor nginx

11. Depois que a configuração for concluída, verifique o arquivo de configuração para obter erros e reinicie o serviço Nginx para aplicar alterações recentes.

# nginx -t # systemctl reinicie nginx 
Verifique a sintaxe da configuração nginx

12. Em seguida, para receber Http pedidos de clientes, precisamos configurar Verniz Para correr na porta 80. Ao contrário de versões anteriores de Cache de verniz onde essa mudança foi feita no Verniz Arquivo de ambiente (que agora está obsoleto), na versão 6.0 e acima.

Precisamos fazer a alteração necessária no arquivo de serviço do verniz. Execute o seguinte comando para abrir o arquivo de serviço apropriado para edição.

# SystemCtl Edit --full Varnish 

Encontre a seguinte linha e altere o valor do -a Switch, que especifica o endereço de escuta e a porta. Defina a porta para 80 como mostrado na captura de tela a seguir.

Observe se você não especificar um endereço, Varnishd vai ouvir em todos os disponíveis IPv4 e IPv6 interfaces ativas no servidor.

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

Salve as mudanças no arquivo e saia.

13. Em seguida, você precisa definir o servidor de back -end que Verniz Visitará para buscar conteúdo de. Isso é feito no arquivo de configuração principal do verniz.

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

Procure a seção de configuração de back -end padrão e altere a string “padrão" para servidor1 (ou qualquer nome de sua escolha para representar seu servidor de origem). Em seguida, defina a porta como 8080 (ou a porta Nginx Listen que você definiu em seu bloco de servidor).

Servidor de back -end1  .host = "127.0.0.1 "; .porta = "8080";  
Definir servidores de back -end de verniz padrão

Para este guia, estamos correndo Verniz e Nginx No mesmo servidor. Se o seu servidor Web Nginx estiver em execução em um host diferente. Por exemplo, outro servidor com endereço 10.42.0.247, então defina .hospedar parâmetro como mostrado.

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

Salve o arquivo e feche-o.

14. Em seguida, você precisa recarregar o Systemd Configuração do gerente Devido às recentes alterações no arquivo de serviço de varnish e reinicie o serviço de varnish para aplicar as alterações da seguinte forma.

# Systemctl Daemon-Reload # SystemCtl Reiniciar verniz 

15. Agora confirme isso Nginx e Verniz estão ouvindo o configurado TCP tomadas.

# ss -tpln 
Confirme as portas nginx e verniz

Etapa 4: Testando a configuração do cache de varnish nginx

16. Em seguida, verifique se as páginas da web estão sendo servidas via Cache de verniz do seguinte modo. Abra um navegador da web e navegue usando o servidor IP ou FDQN, como mostrado na captura de tela a seguir.

http: // www.Tecmin.LAN ou http: // 10.42.0.144 
Verifique as páginas nginx servidas via cache de verniz

17. Como alternativa, use o comando curl como mostrado. Use o endereço IP do seu servidor ou o FQDN do site ou use 127.0.0.1 ou localhost se você estiver testando localmente.

# Curl -i http: /// www.Tecmint.LAN 
Verifique a página de cache do Nginx Varnish usando o CURL

Utilitários úteis de administração de cache de verniz

18. Nesta seção final, descreveremos brevemente alguns dos programas de utilidade úteis que Cache de verniz navios com, que você pode usar para controlar Varnishd, Acesse logs na memória e estatísticas gerais e mais.

VarnishAdm

VarnishAdm um utilitário para controlar uma instância de verniz em execução. Estabelece uma conexão da CLI com Varnishd. Por exemplo, você pode usá -lo para listar back -ends configurados, como mostrado na captura de tela a seguir (leia -se homem varnishadm Para maiores informações).

# varnishadm varnish> back -end.lista 
Lista configurada nos backnds

Varnishlog

O Varnishlog O utilitário fornece acesso a dados específicos de solicitação. Oferece informações sobre clientes e solicitações específicos (leia homem varnishlog Para maiores informações).

# varnishlog 
Verifique as informações sobre clientes e solicitações

VarnishStat

A VarnishStat também conhecido como Estatísticas de verniz, O que lhe dá uma olhada no desempenho atual de Varnish, fornecendo acesso a estatísticas de memória, como acertos e falhas de cache, informações sobre o armazenamento, threads criados, objetos excluídos (leia-se homem varnishstat Para maiores informações).

# varnishstat 
Mostrar estatísticas de verniz

Varnishtop

A Varnishtop O utilitário lê os registros de memória compartilhados e apresenta uma lista continuamente atualizada das entradas de log mais comum Man Varnishtop Para maiores informações).

# Varnishtop 
Ver logs de memória compartilhados

Varnishhist

A Varnishhist (História do verniz) A utilidade analisa os logs de verniz e produz um histograma atualizado continuamente mostrando a distribuição do último n solicitações por seu processamento (leia homem varnishhist Para maiores informações).

# varnishhist 
Mostre solicitações histograma

Isso é tudo! Neste guia, mostramos como instalar Cache de verniz e executá -lo na frente do Nginx http servidor para acelerar a entrega de conteúdo da web em CENTOS/RHEL 8.

Quaisquer pensamentos ou perguntas sobre este guia podem ser compartilhados usando o formulário de feedback abaixo. Para mais informações, leia a documentação do cache do verniz.

A principal desvantagem de Cache de verniz é sua falta de apoio nativo para Https. Para ativar Https No seu site/aplicativo, você precisa configurar um proxy de terminação SSL/TLS para trabalhar em conjunto Cache de verniz Para proteger seu site. Em nosso próximo artigo, mostraremos como habilitar HTTPS para cache de verniz usando Hitch CENTOS/RHEL 8.