Pesquise...

Últimos Posts

Arquivo de Posts

2025 - 2024 - 2023 - 2022 - 2021 - 2020 - 2019 - 2018 - 2017 - 2016 - 2015 - 2014 - 2013 - 2012

Postagens Populares

Vem Comigo

     
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Tecnologia do Blogger.

Total de Acessos


Saudações,

Os plugins de cache do WordPress geralmente fazem um excelente trabalho, mas há situações que algo mais precisa ser feito.

Existe alguns caminhos a serem seguidos, como por exemplo usar o cache do servidor web ou o servidor de dados em memoria.

Desta vez a escolha foi o Redis!


Acelere seu site WordPress com o plugin Redis Object Cache


Para iniciar, contate o seu provedor de hospedagem e verifique se ele tem o servidor Redis instalado e disponível para seu plano.

Um vez que o requerimento acima foi preenchido, acesse o wp-admin, e no menu Plugins -> Adicionar plugins pesquise por redis e instalale o plugin de nome Redis Object Cache...

ATENÇÃO: NÃO ATIVE O PLUGIN AINDA!

Feita a instalação, vamos abrir o wp-config.php e adicionar pelo menos a diretiva WP_REDIS_PREFIX...


A diretiva WP_REDIS_PREFIX vai ajudar o Redis na identificação dos dados do seu site, e também vai evitar o conflito de chave/valor em caso de hospedagem compartilhada. Use um nome legível por humanos, tipo o nome do seu site; por exemplo:

  • nomedosite-
  • dotjunior-
  • jnw-

Sobre o conflito, deixa eu explicar! Imagine que o SITE A e o SITE B não tem relação um com o outro (donos diferentes), e ambos estão em uma hospedagem compartilhada. Os donos dos site instalaram o plugin Redis Object Cache e não configuraram um prefixo. Neste exato momento, provavelmente, ambos os site irão gravar as chaves/valores no mesmo espaço de memoria, e aberrações como o conteúdo do SITE A abrindo no SITE B (ou vice-versa) vai acontecer!


É importante dizer que este comportamento não é uma falha do Redis, mas uma falta de configuração da parte do provedor de hospedagem e/ou do administrador do site.


Efetuada configuração, salve o wp-confing.php e retorne ao wp-admin para ativar o plugin...


... agora acesse o menu Configurações -> Redis para ativar a função de cache de memoria clicando no botão azul...

Aqui vemos o nome definido em WP_REDIS_PREFIX


Redis Object Cache ativado com sucesso!


Para testar, abra seu site em uma janela anônima e veja o código fonte da pagina. No final do código você verá algo do tipo...


Estas duas linhas indicam que o cache de memoria está em ação, e o seu site ganhou uns mile segundos de velocidade neste mundo de "quero tudo pra ontem"! 😂


Paz a todos!


Bonus: Melhorando a configuração do plugin Redis Object Cache


Esta etapa envolve, inevitavelmente, "dar um passo atrás". Precisamos olhar para o servidor Redis antes de mexer na configuração do plugin Redis Object Cache.

Vou usar como exemplo a instalação de um dos dois Redis que fiz recentemente. 

Eu optei pelo seguinte plano de ação:


1 - O Redis não pode ser acessado externamente.

Usei o firewall fornecido pelo provedor dos VPSs para liberar somente as portas necessárias, como por exemplo a 22, 80 e 443; no mais tudo é bloqueado por padrão.


2 - Instalar o Redis via APT usando como fonte os repositórios do próprio projeto.

Nesta etapa eu segui o guia oficial em redis.io/docs/latest/operate/oss_and_stack/install/archive/install-redis/install-redis-on-linux.


3 - Alterar o nome de funções importantes do Redis.

O redis.conf está bem comentado e não foi necessário consultar a documentação.

A configuração ficou mais ou menos assim:


#cat redis.conf
...
# It is possible to change the name of dangerous commands in a shared
# environment. For instance the CONFIG command may be renamed into ...
#
# Example:
# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
#
# ...
# Please note that changing the name of commands that are logged into the
# AOF file or transmitted to replicas may cause problems.
rename-command FLUSHALL "NOME-ALEATORIO-PARA-FLUSHALL"
rename-command FLUSHDB "NOME-ALEATORIO-PARA-FLUSHDB"
rename-command CONFIG "NOME-ALEATORIO-PARA-CONFIG"
...


Se você desejar, o nome pode ser algo mais legível por humanos!


4 - Configurar o Redis para usar um arquivo de ACL externo.

Usei a documentação do endereço redis.io/docs/latest/operate/oss_and_stack/management/security/acl

O conteúdo do meu users.acl ficou mais ou menos assim:


#cat users.acl

user default on >SENHA-ALEATORIA-COM-N-CARACTERES ~* &* +@all
user nomedosite on >SENHA-ALEATORIA-COM-N-CARACTERES ~nomedositea-* +@all -@dangerous -flushall -flushdb +info +select +client|id +client|setname
...



O usuário default tem todas as permissões. O usuário nomedosite está restrito ao prefixo que combina com nomedosite-.

Também removi algumas permissões "críticas" (-@dangerous -flushall -flushdb) para o usuário comum; segui este padrão para todos os usuário comuns.


5 - Atribuir bando de dados na configuração do wp-config.php.

Por padrão, o Redis suporta normalmente 16 bases de dados lógicas; iniciando 0 a terminando em 15. Não se preocupe com isto, existem maneiras de escalar o numero de banco de dados. 

Em um dos VPSs eu precisei usar apenas 4 DBs. Podemos ver os DBs usado o comando redis-cli INFO keyspace...


E a configuração de um dos wp-config.php se parece com isto:


Olhando no wp-admin a configuração do plugin exibida é:


É isto, fica bem!


0 comentários:

Postar um comentário