Ganhe eficiência com WordPress e NGINX

A combinação de WordPress e Nginx pode trazer eficiência, consumindo menos memória RAM e processamento. Você vai precisar de uma conta na Cloudflare, para incluir certificado de segurança instalado no servdidor, para o domínio utilizado. Caso seja necessário você pode usar o Nginx para redirecionar subdomínios e domínos, ser for o caso.

O ambiente de nuvem pública utilizado foi o do Magalu Cloud, no datacenter de Fortaleza, Ceará. Servidor com 8 GB de RAM, 4 processadores e 100 GB de espaço em SSD. O custo mensal do servidor estava em abril de 2024 em R$ 226,72. O servidor MySQL 8 estava a R$ 66,77 – com 1 processador e 1 GB de RAM. O processo de instalação do WordPress foi feito em um servidor Ubuntu 22.04 usando NGINX, MySQL 8 e PHP 8.3. Com isso você terá uma plataforma poderosa e eficiente para executar o seu site WordPress de um jeito prático.

Implantar WordPress na pilha LEMP

Para um melhor desempenho usamos a versão 8.3 do PHP com ajustes na configuração em dinamic, que deu a capacidade de antender um tráfego maior. Nossa aplicação recebe mais de 20 mil visitas por mês.

O Nginx traz alto desempenho para o ambiente, por sua capacidade de lidar com grande volume de tráfeco de maneira eficiente e escalável. O cache usado foi o Redis.

Para uma maior praticidade, sugiro que você execute o comando sudo -s, para evitar a repetição do comando sudo no processo de implantação e de eventais ajustes.

Você pode rodar o MariaDB no Ubuntu. Mas caso seu ambiente precise de maior desempenho, seria o caso de usar o servidor MySQL 8 da Luiza Labs.

Responda às perguntas abaixo

  • Enter current password for root (enter for none): Pressione Enter
  • Switch to unix_socket authentication [Y/n]: Digite n e pressione Enter.
  • Set root password? [Y/n]: Pressione Enter.
  • New password: Copie uma senha forte do Dashlane Password Generator. Para colar a senha no terminal SSH, clique com o botão direito do mouse e pressione Enter. A senha não é visível na tela.
  • Re-enter new password: Clique com o botão direito do mouse e pressione Enter novamente.

Depois disso você vai ver:

Password updated successfully!
Reloading privilege tables..
... Success!

Então, você vai responder às seguintes perguntas.

  • Remove anonymous users? [Y/n]: Pressione Enter
  • Disallow root login remotely? [Y/n]: Pressione Enter
  • Remove test database and access to it? [Y/n]: Pressione Enter
  • Reload privilege tables now? [Y/n]: Pressione Enter

Faça login no MariaDB, pressione a tecla Enter quando solicitar a senha.

Aqui, se banco de dados é wordpress, com seu usuriocadastrado na nuvem com respectiva senha Ml0zmYeeDHzyLqAr

No momento, o PHP 8.3 é a versão mais estável e recente. Se precisar de uma versão diferente do PHP, mantenha a mesma versão em todos os comandos.

Ajuste a configuração do PHP

Com servidor PHP operando na opção dynamic Avalie a performance do serviço web e faça ajustes em pm.start_servers, pm.min_spare_servers e pm.max_spare_servers. Segue um exemplo utilizado em meu ambiente.

; Note: This value is mandatory.
pm = dynamic
; The number of child processes to be created when pm is set to 'static' and the
; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'.
; This value sets the limit on the number of simultaneous requests that will be
; served. Equivalent to the ApacheMaxClients directive with mpm_prefork.
; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP
; CGI. The below defaults are based on a server without much resources. Don't
; forget to tweak pm.* to fit your needs.
; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand'
; Note: This value is mandatory.
pm.max_children = 60

; The number of child processes created on startup.
; Note: Used only when pm is set to 'dynamic'
; Default Value: (min_spare_servers + max_spare_servers) / 2
pm.start_servers = 16

; The desired minimum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
pm.min_spare_servers = 8

; The desired maximum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
pm.max_spare_servers = 20

; The number of rate to spawn child processes at once.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
; Default Value: 32
pm.max_spawn_rate = 32

5. Instale o certificado Wildcard Let’s Encrypt SSL

Encontre seu e-mail da Cloudflare e sua chave de API global em “Meu perfil” > Tokens de API > Chave de API global

Instale Certbot e DNS Authenticator de acordo com o sistema operacional e servidor web HTTP

Obtenha certificado SSL curinga

Definir renovação automática usando Cron Job

Renovação de teste

6. Configurar bloco de servidor Nginx

Isso é importante quando você for configurar o seu domínio, como o NGINX deve lidar com suas solicitações HTTP. É onde você também pode incluir redirecionamentos, uso de CACHE etc.

Exclua blocos de servidor padrão.

Crie um novo bloco de servidor

Substitua dominio.com.br pelo seu próprio domínio.

Para salvar, pressione a tecla CTRL+ OEnter. Em seguida, saia do editor nano usando o comando CTRL + X. Evite o uso do AMP – opção da Google para dispositivos móveis.

Outra alternativa é usar o plugin WP Rocket, mas ele é pago.

7. Crie links simbólicos entre dois diretórios

Se você deixar de fazer essa etapa – seu site não será exibido. Na verdade, vai aparecer a mensagem ERR_CONNECTION_REFUSED.

Para ativar o bloco do servidor, crie um link simbólico do arquivo do bloco do servidor NGINX do diretório /etc/nginx/sites-available/para /etc/nginx/sites-enabled

8. Instale o WordPress

9. Atualizando DNS

Se você estiver hospedando o WordPress localmente, quiser ignorar o proxy ou realizar uma migração com tempo de inatividade zero, esta etapa será útil.

Para Windows

Abra o prompt do MS DOS e digite o comando ipconfig /flushdns

Agora, faça todos os ajustes dos plugins de sua preferência para envio de e-mail, Cache, loja de comércio eletrônico, venda de conteúdo por assinatura etc.

Recomende esse guia para um colega que administre sites WordPress. Aproveita para recomendar MagaluCloud.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *