O WordPress tem suporte integrado para tarefas cron, o que permite que alguns processos sejam executados em segundo plano nos horários programados. Quando você instala o WordPress ele já vem com as seguintes tarefas agendadas:
Atualizações automáticas do WordPress
Verificações de versão do WordPress
Verificações de atualizações de plugins e templates
Publicação de postagens agendadas
No entanto todo esse sistema é falho, se seu site não receber ao menos 1 visita durante um período de tempo, nenhuma dessas tarefas são executadas. Para resolver esses problemas utilizamos o cron do próprio sistema operacional Linux.
Como o cron é executado como um daemon, ele será executado com base na hora do sistema do servidor e não exigirá mais que um usuário visite o site para que as tarefas agendadas sejam executadas no seu WordPress.
Antes de configurar o cron, desabilite o WordPress de utilizar o cron interno dele. Adicione o conteúdo abaixo no arquivo wp-config do seu WordPress:
define('DISABLE_WP_CRON', true);
Abra o crontab do servidor e configure as tarefas cron que serão executadas pelo sistema:
crontab -e
Não vou entrar em detalhes sobre a sintaxe do crontab , mas adicione ao final do arquivo a cron do WordPress para que seja executada a cada 5 minutos:
*/5 * * * * cd /var/www/html; /usr/local/bin/wp cron event run --due-now >/dev/null 2>&1
Agora salve o arquivo para finalizar. Pressione CTRL + X seguido de Y e Enter. Alguns artigos na internet sugerem o uso de wgetou curlpara acionar o cron, mas o uso do WP-CLI é recomendado.
Agora você configurou o cron do servidor para que execute as tarefas agendadas do WordPress.
Configurando envios de e-mail com SMTP Relay Mailjet
No nosso servidor de hospedagem wordpress não configuramos nenhum serviço referente a envio de e-mails. Se você precisa redefinir uma senha ou enviar newsletter, só será possível se configurarmos um SMTP Relay para que os emails sejam enviados.
O Mailjet possui um serviço de SMTP Relay muito bom, inclusive o plano gratuito nos possibilita enviar até 6 mil envios mensal, para projetos pequenos isso é mais do que suficiente.
Para configurar o Mailjet no seu WordPress siga os passos abaixo.
1- Cadastro no Mailjet
Acesse o site oficial e clique em Get Started e realize o seu cadastro. Após preencher todas as etapas, acesse seu e-mail para confirmar seu cadastro.
Após confirmar o seu cadastro, você verá uma tela como a imagem abaixo. Clique em Get started na imagem Developer.
Em seguida escolha a opção SMTP Relay e prossiga para a próxima etapa
Nessa tela você pode clicar em continuar, mais adiante configuramos as credenciais do nosso SMTP.
2. Configurando SMTP
Agora que a nossa conta já está criada e pré-pronta, precisamos configurar nosso domínio no Mailjet e configurar nossas credenciais.
Na mesma janela que você está, desça a página até encontrar a opção 3 e clique em Add and validade domain.
Na nova janela que foi aberta clique no botão Add domain, insira o seu domínio e clique em Continue.
Na próxima etapa você vai ter duas opções para poder validar que você é o proprietário do seu domínio. Você pode subir um arquivo de texto para a raiz do WordPress ou criar um registro TXT no DNS.
Para ser mais objetivo e rápido, vou criar o arquivo de texto na raiz do meu WordPress, exatamente com o nome do arquivo que destaquei em vermelho na imagem acima.
No diretório home do meu WordPress eu criei o arquivo com o comando abaixo
touch nome_arquivo
Agora clico em Check now para validar o domínio.
Se o domínio foi validado, você verá uma mensagem como a imagem abaixo:
Mas ainda não acabou nossas configurações, precisamos realizar as autenticações para o domínio com registros SPF e DKIM caso contrário nossos e-mails podem cair sempre na caixa de spam ou até mesmo ser recusados pelo servidor de destino.
Clique em Authenticate this domain, e agora sim temos as duas configurações a serem feitas no nosso DNS. O SPF e o DKIM!
Antes de mais nada clique no botão amarelo para que o registro SPF seja gerado, e em seguida você verá o conteúdo a ser adicionado no DNS.
Após adicionar os registros, aguarde alguns minutos ou até mesmo horas para a propagação do DNS, assim que tudo estiver propagado você verá uma tela igual a imagem abaixo e isso significa que nosso domínio está autenticado e pronto para utilizar o Mailjet.
E para finalizar, vamos criar as chaves de API do nosso SMTP para que possamos conectar o WordPress ao SMTP. Clique no menu inicial para voltar a página inicial:
Em seguida clique em Setup my SMTP
Agora clique em Retrieve your API credentials
Agora sim, clicamos em Generate Secret Key para gerar nosso par de chaves
Guarde os dados de API Key e Secret Key, sugiro copiar e guardar em um local seguro, e será com essas credenciais que vamos configurar no WordPress agora.
Configurando SMTP no WordPress
Para configurar o Mailjet no WordPress vamos utilizar um plugin bem conhecido, o WP Mail SMTP by WPForms. No menu de pesquisa de plugins apenas coloque o nome do plugin e realize a sua ativação.
Assim que ativado, precisamos configura-lo. Clique em Vamos começar, para dar início.
Esse plugin é bem interessante pois ele oferece compatibilidade com diversos provedores de SMTP Relay como Google, Sendgrid, AWS SES, Mailgun e Outlook.
No entanto, vamos escolher a opção Outro SMTP e clicar em Salvar e continuar.
Agora colocamos as informações do nosso SMTP Mailjet, como nome do host usuário e senha que são as credenciais de API que geramos. Basta preencher os dados corretamente como as imagens abaixo:
Host:in-v3.mailjet.com
Para finalizar, clique em Salvar e continuar, nas três telas seguintes. Na quarta tela clique em Pular esta etapa, e na última tela clique em Concluir configuração.
Agora podemos testar se o nosso WordPress está enviando e-mails corretamente através do Mailjet. Para isso, podemos realizar um envio de e-mail de testes utilizando o plugin que acabamos de instalar. Clique no menu superior em E-mail de teste
Insira o nome do e-mail para quem deseja enviar um e-mail de teste e clique em Enviar e-mail
Rapidamente recebi o e-mail na caixa de entrada
Podemos constatar e verificar que o nosso WordPress está enviando e-mails corretamente. Qualquer atividade que envolva notificações, envios de redefinições de senhas, ou o que for, o WordPress utilizará o SMTP configurado para envios.
Conclusão
Quando configuramos um servidor para hospedagem wordpress também temos que pensar nos envios de e-mail, caso contrário toda e qualquer notificação o WordPress não irá conseguir enviar.
O Mailjet é uma opção gratuita e que é bem interessante para projetos pequenos, para projetos maiores como lojas e grandes portais o AWS SES pode ser a melhor opção para envios de e-mail e newsletter.
Nossa hospedagem WordPress já está configurada com todos os serviços que o WordPress precisa para executar. Você inclusive pode escolher o que fazer agora:
Instalar um WordPress Default
Migrar um WordPress para o servidor
A primeira opção você pode realizar de diversas formas, mas como temos o WP-CLI instalado no nosso servidor, podemos utiliza-lo para instalar o WordPress. A segunda opção é bem simples, basta você ter o conteúdo físico do WordPress + Banco de dados e enviar para o servidor.
Instalando o WordPress
Para instalar o WordPress via WP-CLI no terminal, esteja logado com o usuário que você criou no primeiro capítulo deste guia. E siga os passos abaixo:
cd /var/www/html
rm -rf *
O comando abaixo irá realizar o download dos arquivos core do WordPress
wp core download
O próximo comando irá criar o arquivo wp-config com os dados do banco de dados que configuramos. Lembre de trocar as palavras em negrito pelos respectivos nomes e senha que você configurou.
No Nginx podemos realizar uma série de configurações, uma delas é o cache de conteúdo. Ao ativarmos o cache de conteúdo, nosso site WordPress vai ganhar muito poder de performance, pois irá reduzir drasticamente o tempo de resposta e como consequência irá melhorar a experiência do usuário.
Podemos dizer bem a grosso modo como isso funciona. Quando uma página ou o resultado de uma página entrar for processada pelo PHP e MySQL, o Nginx irá armazenar o resultado no cache do servidor, e quando um segundo acesso for feito, o nginx irá responder muito mais rápido com o conteúdo da página. Isso é válido se a página não sofrer nenhuma alteração. As vantagens são:
Diminuição do consumo de CPU e RAM
Potencialização no número de conexões simultâneas que o WordPress poderá atender
Para configurar o Cache Nginx siga os passos abaixo.
1. Crie um diretório para que o Nginx utilize para armazenamento de cache persistente e de as permissões para que o usuário consiga manipular arquivos dentro do diretório do cache.
4. Agora precisamos informar ao Nginx para que ele não coloque certas páginas em cache, como por exemplo a página de login ou telas do administrador.
Adicione o conteúdo antes da linha #### Locations
set $skip_cache 0;
# POST requests and urls with a query string should always go to PHP
if ($request_method = POST) {
set $skip_cache 1;
}
if ($query_string != "") {
set $skip_cache 1;
}
# Don’t cache uris containing the following segments
if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {
set $skip_cache 1;
}
# Don’t use the cache for logged in users or recent commenters
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
set $skip_cache 1;
}
5. A seguir, adicione as seguintes diretivas dentro do bloco do php:
Salve o arquivo usando CTRL + X seguido de Y e Enter, e reinicie o Nginx para validar todas as novas configurações.
sudo service nginx restart
Terceiro Benchmark: Nginx com Cache
Agora que já habilitamos o cache do Nginx, podemos fazer um terceiro teste de carga. Eu espero que agora o servidor utilize menos ou praticamente nada do PHP e MySQL, e apenas o Nginx que trabalhe fornecendo o conteúdo já armazenado em cache.
Ao analisar o gráfico do teste simulando novamente os 100 usuários, dessa vez os resultados foram surpreendentes. Conseguimos realizar 19.856 solicitações com sucesso, nenhum erro 400/400, nenhum timeout e nenhum erro de rede.
Como o conteúdo em cache estava sendo fornecido pelo Nginx, mesmo no pico máximo de 100 usuários o tempo de resposta ficou em média 151ms, muito abaixo dos primeiros testes que superavam
Observe que durante o teste o consumo de CPU ficou em média 11% 20% no máximo, o consumo de memória ficou em média 278M e 240M, e o Load Average praticamente zerado.
Nos processos do sistema vimos apenas o procsso do Nginx trabalhando rs.
Plugin de Cache Nginx para WordPress
Você precisa instalar um plugin no WordPress para que ele consiga limpar o cache do servidor sempre que uma atualização for feita. Felizmente existe um plugin gratuito que é o Nginx Cache, você pode instalar esse plugin e seguir para a configuração.
Uma vez que o plugin está instalado, você precisa ativa-lo e configura-lo. No WordPres clique em Ferramentas – Nginx Cache, e insira no Cache Zone Path o caminho do servidor onde o Nginx armazena o cache. Também habilite o Purge Cache para que ele limpe o cache sempre que algo for atualizado.
Por fim, salve e faça alguns testes mudando o título do WordPress ou alguma palavra em alguma página e veja se o conteúdo é atualizado corretamente.
Cache de Objetos com Redis
O cache de objetos armazena os resultados da consulta do banco de dados para que, ao invéz de executar uma mesma consulta em cada acesso do usuário, os resultados sejam servidos a partir do cache.
Isso também melhora consideravelmente o desempenho do WordPress, pois elimina a necessidade de consultas ao banco de forma desnecessária e consumindo recursos a toa.
O Redis é um software de código aberto e conhecido em todo o mundo, é o melhor software para essa finalidade. E é ele quem iremos instalar no nosso servidor WordPress.
Para instalar o Redis execute os comandos abaixo:
sudo apt install -y redis-server
sudo service php8.0-fpm restart
Você pode instalar o módulo Redis Nginx em seu servidor para executar um cache, mas para que o WordPress use o Redis como um cache de objeto, você precisa instalar um plug-in de cache de objeto Redis.
Após o plugin for instalado e ativo, você precisa ativar o cache de objetos, basta clicar em Ativar o cache de objeto.
Se tudo estiver ok, você verá uma tela como a imagem abaixo:
Agora que o cache de objetos está ativo, o servidor pode ter um leve aumento no consumo de memória RAM uma vez que o Redis armazena cache na memória RAM e não no disco. No entanto, várias consultas que outrora seriam enviados direto para o banco, não vão mais precisar incomoda-lo na maioria das vezes.
Conclusão
Nesse capítulo vimos como configurar o Cache Nginx no servidor e o cache de Objetos com o Redis. Esses dois tipos de cache vão melhorar e muito o desempenho dos nossos projetos WordPress e manter uma estabilidade no nosso servidor.
No próximo capítulo vamos revisar tarefas cron e implementação uma solução de envio de e-mails no nosso WordPress.
Nos últimos anos possuir um site otimizado se tornou praticamente crucial para o sucesso de um projeto. Para atingir este fim é necessário uma série de otimizações, seja a nível de código, seja a nível de servidor para que nossa hospedagem WordPress tenha performance.
Nesse capítulo você vai aprender a otimizar levemente o Nginx e o PHP do servidor. No entanto, as otimizações realizadas nesse capítulo não podem ser generalizadas a todo e qualquer projeto, muito menos a todo e qualquer servidor, para cada projeto e cada servidor, valores diferentes são utilizados.
Partimos do principio que estamos trabalhando com um site simples de pequeno porte e um servidor de 2GB e 1 núcleo de CPU.
Primeiro Benchmark: Teste de Carga e Análise de Performance
Antes de iniciarmos as otimizações no Nginx e PHP, vamos fazer alguns testes de performance e capacidade de carga do servidor, para termos um antes e depois e poder conferir as melhorias realizadas.
É muito difícil simular um tráfego real, não existe uma ferramenta que simule um acesso real de um cliente, mas podemos testar mesmo que robotizado esse processo.
Teste de Carga 100 pessoas simultâneas
Nosso teste de carga vai simular a entrada de 100 usuários simultâneos começando desde o primeiro usuário até o centésimo, tudo isso durante 1 minuto. Os “usuários” irão realizar requisições na pagina inicial do nosso site.
Mesmo sem otimizações o nosso servidor consumiu menos de 400MB de RAM, no entanto o único núcleo de CPU ficou em 100% de uso, apesar que eu já esperava pelo fato de termos apenas um único núcleo. O Load averange não cresceu praticamente nada.
Já analisando o relatório do teste pude perceber que não tive nenhum erro 400/500 e nenhum timeout. Todas as solicitações foram realizadas com sucesso, e na prática todos os 100 usuários conseguiram ficar online sem que o servidor caísse.
O único ponto negativo foi o tempo de resposta, tivemos um Average de 3323ms, ou seja, quando os 100 usuários estavam ao mesmo tempo no site, toda e qualquer página poderia estar muito lenta para uma boa navegação.
E se analisarem o gráfico, enquanto o número de clientes entravam no site aumentava o average aumentava proporcionalmente.
Análise de Performance
Sabemos que um template WordPress dos modelos default são bem otimizados e leves, e é justamente assim que os sites deveriam ser. Sempre priorizando o máximo de leveza para o usuário. O teste que realizamos não faz muito sentido eu realizar novamente, pois praticamente tiramos 100/100 em tudo.
Vale deixar claro que a localidade do servidor VPS e do servidor do Gtmetrix que realizou o teste pode influenciar na nota.
Tendo esses dados em mente, vamos partir para as otimizações e comparar no final do capítulo os resultados.
Otimizando o Nginx
O Nginx possui um arquivo de configuração principal que está localizado em: /etc/nginx/nginx.conf. Nesse arquivo podemos configurar e definir várias opções de otimizações que vão instruir como o Nginx vai trabalhar e processar as requisições.
Por padrão o Nginx já possui um arquivo default, mas vamos remover todo o conteúdo dele e recria-lo bem personalizado. Para isso, acesse o arquivo e apague todo o conteúdo do nginx.conf
nano /etc/nginx/nginx.conf
Uma vez que foi apagado todo o conteúdo, copie e cole o conteúdo abaixo no arquivo de configuração do nginx. Mas lembre de alterar o usuário em negrito pelo usuário que você criou anteriormente.
Salve o arquivo usando CTRL + X seguido de Y e Enter. E não esqueça de reiniciar o nginx:
sudo /etc/init.d/nginx restart
No vídeo onde gravamos a aula deste capítulo eu explico melhor sobre as diretivas que fazem parte desde arquivo de configuração e as otimizações que realizamos para garantir o máximo de performance.
Otimizando o PHP e PHP-FPM
Ajustes no PHP.INI
O PHP.INI é um arquivo de configurações do PHP, possui diretivas de como o PHP deve trabalhar e se comportar em relação ao uso de memória RAM, módulos e extensões instaladas, límites de usos e execuções, uploads e muito mais.
No geral, ele possui configurações que vão funcionar bem para projetos pequenos, mas pensando em projetos wordpress precisamos realizar minimamente algumas alterações visando otimizar nosso PHP.
Localize o arquivo php.ini e realize as seguintes alterações:
Procure linha por linha e altere os valores, caso uma linha não exista, insira no final do arquivo. Você pode pesquisar por uma determinada palavra digitando no terminal CTRL + W , nome da diretiva e Enter.
Explicação:
post_max_size: Configura o tamanho máximo dos dados postados. Esta configuração também afeta o upload de arquivos.
date.timezone: Configura o fuso horário padrão utilizado por todas as funções de data e hora em um script
max_execution_time: Isso configura o tempo máximo, em segundos, que um script é permitido executar antes de ser terminado.
max_input_vars: Configura quantas variáveis de entrada serão aceitas, com o limte aplicado a cada super global $_GET, $_POST e $_COOKIE separadamente).
memory_limit: Define a quantidade máxima de memória em bytes que um script pode alocar. Isto ajuda a prevenir que scripts mal escritos consumam toda a memória disponível no servidor.
max_input_time: Configura o tempo máximo, em segundos, que um script é permitido dispender interpretando dados de entrada, como GET e POST.
PHP-FPM
O PHP-FPM é um gerenciador de processos que gerencia e trabalha com o FastCGI SAPI (Server API) em PHP. Ele funciona como um serviço independente, e pode ser utilizado em qualquer servidor web que seja compatível com o FastCGI, ex: Nginx.
Em servidores de hospedagem WordPress, o PHP-FPM deve ser otimizado visando garantir um pouco mais de performance para que um site WordPress consiga operar sem muitos esforços, uma vez que o WordPress é um CMS que pode rapidamente ficar denso e pesado.
Para o PHP-FPM precisamos otimizar o pool do PHP, que está localizado em:
nano /etc/php/8.0/fpm/pool.d/www.conf
Servidor com 1GB de RAM: (O PHP pode consumir até 512M de RAM, e só será usado se precisar)
pm = ondemand
pm.max_children = 2
pm.process_idle_timeout = 5s
# Comente as linhas abaixo para não quebrar seu FPM
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
Servidor com 2GB de RAM: (O PHP pode consumir até 1G de RAM, e só se precisar)
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 5s
# Comente as linhas abaixo para não quebrar seu FPM
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
Servidor com 4GB de RAM: (O PHP pode consumir até 2.5G de RAM, no entanto mesmo sem uso já consome recursos, modelo indicado para lojas e portais)
Salve o arquivo usando CTRL + X seguido de Y e Enter.
Otimização OPCACHE
O OPcache melhora o desempenho do PHP armazenando bytecode de script pré-compilado na memória compartilhada, eliminando assim a necessidade do PHP carregar e analisar scripts em cada solicitação.
Para configurarmos o desempenho do PHP utilizando o opcache realize os passos abaixo:
Salve o arquivo usando CTRL + X seguido de Y e Enter. E reinicie o PHP:
/etc/init.d/php8.0-fpm restart
Segundo Benchmark: Teste de Carga
Agora que já otimizamos o nosso Nginx e PHP, podemos partir para um segundo teste de carga no servidor.
Esse segundo teste o servidor consumiu levemente alguns megas de RAM a menos, e o consumo de CPU e Load Average praticamente iguais ao teste anterior.
Já o relatório de carga também foi bem parecido, a diferença é que dessa vez os 100 usuários tiveram uma leve diminuição no tempo de resposta e consequentemente conseguiram realizar mais solicitações na página.
Se eu mudasse a quantidade de usuários no teste para números como 300/500/1000 usuários, os dados poderiam ser bem diferentes. Mas estamos baseando em projetos pequenos que poderiam ter até 100 usuários.
Conclusão
Nesse capítulo realizamos uma série de otimizações no Nginx, PHP, FPM e Opcache.
No próximo capítulo vamos continuar nossas otimizações, mas agora ativando o cache e você vai ficar impressionado com os resultados de um bom cache configurado no servidor.
No capítulo 1 do nosso guia, apresentei etapas iniciais para configuração e segurança de um servidor na Vultr com Ubuntu 20:04 para hospedagem WordPress. Neste capítulo, vou te guiar pelo processo de configuração do LEMP (Linux, Nginx, MySQL e PHP), como também instalarmos o SSL com Let’s Encrypt em nosso domínio.
Antes de prosseguir, já realize a conexão SSH no seu servidor utilizando o usuário criado no capítulo 1, caso não esteja com o terminal aberto.
Instalando o Nginx no Ubuntu
O Nginx é disparado um dos web servers mais rápidos que temos, e seu poder de processar milhares de requisições e conexões é surpreendente. Quando pensamos em uma hospedagem WordPress logo pensamos no Nginx, uma vez que performance e velocidade se tornou cada vez mais um fator determinante em projetos web.
Para instalarmos o Nginx vamos utilizar o repositório de pacotes mantido por Ondřej Surýque inclui os pacotes estáveis mais recentes do Nginx.
Para instalar o Nginx, primeiramente adicione o repositório e atualize as listas de pacotes:
Você pode verificar a versão do Nginx executando o comando:
nginx -v
Agora o Nginx está instalado em nosso servidor. E pelo menos nesse capítulo não vamos realizar nenhuma configuração avançada, isso será feito nos próximos capítulos onde iremos otimizar e realizar alguns ajustes para ter uma maior performance no nosso WordPress.
Instalação do PHP 8
Para instalarmos o PHP 8 em nosso servidor WordPress vamos utilizar novamente o repositório mantido por Ondřej Surý.
Adicione o repositório e atualize as listas de pacotes:
Note que estamos instalando também o php-fpm. FastCGI Process Manager (FPM) é uma implementação alternativa do PHP FastCGI com alguns recursos adicionais que funcionam muito bem com o Nginx. É o gerenciador de processos recomendado para usar ao instalar o PHP com Nginx.
Configurando o PHP 8 e PHP-FPM
Agora que temos instalado o Nginx e o PHP 8 precisamos configurar o usuário e o grupo sob o qual o serviço será executado. Para essa tarefa, precisamos alterar o arquivo de configuração de pool padrão do PHP.
sudo nano /etc/php/8.0/fpm/pool.d/www.conf
Altere todas as linhas que contém o usuário www-data, para o nome de usuário que você criou no capítulo 1.
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data
user = alex
group = alex
listen.owner = alex
listen.group = alex
Agora salve o arquivo para finalizar. Pressione CTRL + X seguido de Y e Enter.
Podemos agora reiniciar o nosso PHP 8 com o comando abaixo:
sudo service php8.0-fpm restart
Testando o Nginx e PHP
Nesse momento já podemos realizar um teste rápido para verificar se o Nginx está se comunicando corretamente com o PHP. Para isso, vamos editar o arquivo de configuração do nginx e habilitar os scripts PHP.
sudo nano /etc/nginx/sites-available/default
Encontre a seção onde os scripts PHP são configurados:
# pass PHP scripts to FastCGI server
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
# fastcgi_pass unix:/run/php/php8.0-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
#}
Podemos alterar deixando assim:
# pass PHP scripts to FastCGI server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
}
Salve o arquivo usando CTRL + X seguido de Y e Enter.
Agora altere o usuário que o nginx irá utilizar, pois isso vai tornar o gerenciamento de permissões muito mais tranquilo no futuro.
sudo nano /etc/nginx/nginx.conf
E troque o nome do usuário configurado no arquivo pelo usuário que você configurou:
user alex;
worker_processes auto;
pid /run/nginx.pid;
Salve o arquivo usando CTRL + X seguido de Y e Enter.
Reiniciamos o Nginx:
sudo service nginx restart
Vamos criar um arquivo de PHP simples na raiz da nossa hospedagem WordPress:
sudo nano /var/www/html/info.php
E inserimos o conteúdo abaixo para que quando acessemos pelo IP no navegador, possamos verificar todas as diretivas e informações do PHP. A execução desse arquivo corretamente significará que o PHP está em execução e em comunicação com o Nginx.
<?php
phpinfo();
?>
Salve o arquivo usando CTRL + X seguido de Y e Enter.
Agora abra o navegador e insira o IP ou o nome do host configurado para visualizar o conteúdo:
ip_server/info.php
ou
wpserver.seudominio.com/info.php
Depois de testar e ver que está funcionando bem, você pode excluir esse arquivo, por motivos de segurança, pois ele expõe informações sobre o servidor.
rm -r /var/www/html/info.php
Emitindo SSL com Let’s Encrypt
Para emitir certificados SSL com o Let’s Encrypt é necessário que você tenha configurado os apontamentos de DNS para o IP do seu servidor. Na CloudFlare eu configurei o apontamento de um subdomínio, pois irei instalar o WordPress em um subdomínio:
Se você vai instalar o WordPress no seu domínio principal, em Nome digite apenas “@”, ou edite a linha onde o seu domínio está apontado para um IP e insira o IP do seu servidor contratado. Lembre também de desativar a nuvem de Proxy, por default ela estará com a cor laranja.
Agora que você configurou o apontamento, podemos instalar o Let’s Encrypt no nosso servidor WordPress. Execute os comandos abaixo:
Após inserir seu endereço de e-mail e concordar com os termos e condições, o cliente Certbot gerará o certificado solicitado. Lembre de anotar onde o arquivo de certificado fullchain.pem e o arquivo de chave privkey.pem foram armazenados, pois você pode precisar deles em algum momento.
NOTAS IMPORTANTES:
- Parabéns! Seu certificado e cadeia foram salvos em:
/etc/letsencrypt/live/blog.alexjunio.com.br/fullchain.pem
Seu arquivo de chave foi salvo em:
/etc/letsencrypt/live/blog.alexjunio.com.br/privkey.pem
Nginx Bloco de Servidor p/ WordPress
Para que o nosso servidor hospede um site WordPress corretamente, precisamos criar um arquivo de configuração do Nginx com foco em WordPress. Para essa atividade, execute os passos abaixo:
Limpe todo o conteúdo que está inserido no arquivo de configuração default:
sudo nano /etc/nginx/sites-available/default
Agora insira todo o conteúdo abaixo e substitua tudo o que está em negrito, colocando o nome do seu domínio.
Salve o arquivo usando CTRL + X seguido de Y e Enter. Você pode validar se o Nginx está configurado corretamente executando: sudo nginx -t . Se visualizar uma mensagem como a imagem abaixo, significa que configurou corretamente.
Agora você já pode acessar o seu domínio pelo navegador, e inclusive verá o SSL instalado.
Por último, defina as permissões do diretório root do WordPress corretamente:
chown -R alex:alex /var/www/html/
Instalando o WP-CLI
O WP-CLI é uma ferramenta bem interessante, com ela podemos gerenciar o nosso site WordPress pela linha de comando. Podemos realizar tarefas como: atualização de plugins, atualizações do WordPress, desabilitar plugins, criar usuários e muito mais.
Agora digite no terminal o comando wp e veja se a ferramenta está executando corretamente.
Instalando o MariaDB
O MariaDB é um substituto imediato para o MySQL. Decidimos instalar o MariaDB no nosso servidor WordPress por oferecer mais recursos e melhorias de velocidade em relação ao MySQL.
Para instalar o MariaDB, adicione o repositório e atualize as listas de pacotes:
Execute o script abaixo para configurar corretamente uma senha para o administrador do MariaDB e realizar algumas configurações:
sudo mysql_secure_installation
Siga as instruções e responda às perguntas. Aqui estão minhas respostas:
alex@wpserver.alexjunio.com.br:~$ sudo mysql_secure_installation
Switch to unix_socket authentication [Y/n] Y
Enabled successfully!
Reloading privilege tables..
... Success!
You already have your root account protected, so you can safely answer 'n'.
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
Agora precisamos criar um usuário, uma database e deixa-lo configurado com seus devidos privilégios.
Criando uma base de dados
Para criar a base de dados e um usuário para a base do WordPress você precisa logar no MySQL utilizando o usuário root e a senha configurada anteriormente. No terminal digite o comando abaixo para login:
mysql -uroot -p
Uma vez logado, execute os comandos baixo para criar a database, usuário e definir os privilégios. Lembre de trocar as informações em negrito.
# Criando a database
CREATE DATABASE dbwordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
# Criando um usuário
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'senha';
# Dando permissões para o usuário
GRANT ALL PRIVILEGES ON dbwordpress.* TO 'wpuser'@'localhost';
# Liberando os privilégios
FLUSH PRIVILEGES;
# Saindo do shell do MySQL
exit;
Muito bem! Já temos a nossa base de dados e um usuário para poder utilizar no processo de instalação do WordPress.
Conclusão
Neste capítulo configuramos o Nginx, PHP com PHP-FPM, MariaDB para nosso banco de dados, WP-CLI e habilitamos o SSL Let’s Encrypt para nosso domínio.
Este é um conjunto de artigos criado para ensinar, passo a passo, como configurar um VPS Ubuntu para hospedar WordPress na Vultr com segurança, otimização e alto desempenho. Acompanhe a sequência completa e configure seu servidor de forma profissional!
Para configurar sua Hospedagem WordPress em um servidor privado na Vultr você vai precisar apenas de:
Domínio válido com acesso a DNS
Cadastro na Vultr
Criando um Servidor Privado na Vultr para seu WordPress
Neste tutorial não vamos abordar o processo inicial de criação do VPS na Vultr, pois temos uma aula ensinando todo o passo a passo e você pode visualizar a aula para aprender o processo.
O tutorial em vídeo também aborda o primeiro acesso via SSH no VPS, e é de suma importância que você aprenda minimamente a acessar o servidor.
No entanto escolha um VPS com os seguintes requisitos
Ubuntu 20:04 LTS
Mínimo 1GB RAM
No nosso tutorial eu escolhi um VPS do estilo Cloud Compute por ser um modelo de custo benefício, e nossa máquina é a de 2GB e 1CPU.
hospedagem wordpress
Você deve também selecionar uma região mais próxima de você para minimizar o máximo a latência. A Vultr tem data center em América/São Paulo, se sua aplicação WordPress precisa de uma latência bem pequena você pode escolher essa localidade.
Configurações Iniciais
Creio que você já assistiu o vídeo e aprendeu a criar o VPS e também acessar o servidor via SSH. Então está pronto para começarmos as nossas primeiras configurações no nosso servidor VPS WordPress.
Configurando o nome do host
Uma das primeiras coisas que devemos configurar no nosso servidor é o nome do host com um domínio totalmente qualificado (FQDN). Esse nome é único, mas não tem relação com o site WordPress que iremos configurar.
Realizar essa configuração vai facilitar bastante futuras conexões no servidor, uma vez que você poderá acessar o servidor sem utilizar o IP da máquina, e sim, apenas com o nome do host definido.
Para configurar o nome do host execute os comandos abaixo, substituindo o domínio.
Para colocar em vigor o nome do host associado ao seu domínio é necessário configura-lo no DNS do seu domínio. Nesse tutorial utilizo o DNS da CloudFlare, mas no geral o processo de configuração do apontamento do registro é o mesmo.
Note que eu configurei um registro do tipo (A) onde o nome (wpserver) está apontado para um IP, que será o IP do nosso servidor. Também desabilitei a nuvem de Proxy para não interferir futuramente na emissão do SSL.
Após realizar a configuração acima no seu provedor de DNS a propagação pode demorar de alguns minutos até algumas horas. Uma vez propagado, você vai poder realizar conexão via SSH utilizando o nome de host configurado, veja um exemplo abaixo:
ssh root@wpserver.alexjunio.com.br
Configurando o horário do servidor
Ter o horário do nosso servidor configurado pode evitar vários problemas desde um agendamento de postagem no WordPress como até mesmo o horário do backup. Para realizar a configuração você precisa do pacote tzdata instalado no servidor, é através dele que definimos o timezone correto que é o America/Sao_Paulo.
Execute os comandos abaixo para instalar o tzdata e configurar o timezone do nosso servidor.
Agora veja se o horário do servidor está corretamente atualizado executando o comando abaixo:
date
Atualizando o Sistema
Por mais que você contrate um servidor novo, alguns softwares instalados podem estar desatualizados. Vamos atualizar o nosso sistema para que tenhamos as listas de pacotes atualizados.
Execute os comandos abaixo.
apt update
apt upgrade -y
Quando todas as atualizações forem executadas, você verá quais pacotes foram instalados e também quais pacotes não são mais necessários para o sistema.
Para remover os pacotes desatualizados execute o comando abaixo:
apt autoremove
Configurando Usuário
Utilizar o usuário root do servidor para acessos ssh e tarefas básicas não é algo recomendado, inclusive é algo que deve ser evitado ao máximo. Para resolver esse problema, vamos criar um usuário adicional que será responsável por gerenciar e configurar tudo o que envolve a nossa hospedagem wordpress.
Esse usuário poderá ser utilizado para;
Acesso SSH e SFTP
Tarefas administrativas no código do WordPress
Restart de serviços como MySQL, Nginx, PHP
Para que o usuário tenha todos os privilégios necessários para seu pleno funcionamento, vamos adiciona-lo ao grupo sudo. Desse modo, não terá problemas maiores na execução de comandos de administração.
Para criar o usuário execute os passos abaixo:
adduser alex
# obs: Insira um nome de usuário desejado na linha acima
Em seguida você precisará inserir informações sobre o usuário e também uma senha, lembre que a senha precisa ser minimamente complexa.
root@wpuser.alexjunio.com.br:~$ sudo adduser alex
Adicionando usuário `alex ...
Adicionando novo grupo `alex' (1002) ...
Adicionando novo usuário `alex' (1002) com o grupo `alex' ...
Criando o diretório inicial `/home/alex' ...
Copiando arquivos de `/etc/skel' ...
Nova Senha:
Redigite a nova senha:
passwd: senha atualizada com sucesso
Alterando as informações do usuário para alex
Insira o novo valor ou pressione ENTER para o valor padrão
Nome Completo []: alex Rich
Número do quarto []:
Telefone de Trabalho []:
Telefone residencial []:
Outro []:
As informações estão corretas? [S/n]
Após confirmar e criar o usuário, adicione ao grupo sudo:
usermod -a -G sudo alex
Agora realize uma nova conexão SSH no seu servidor, no entanto utilizando o usuário que você acabou de configurar.
ssh alex@wpuser.alexjunio.com.br
Se a conexão foi bem sucedida, significa que você configurou o usuário corretamente e está pronto para a próxima etapa.
Configurando o Firewall
O Firewall vai nos ajudar bastante pois oferece uma camada adicional de segurança em nosso servidor WordPress, ele vai bloquear tráfego de rede de entrada. No Ubuntu o UFW é instalado por padrão, caso o seu sistema por algum motivo não tenha, instale executando o comando abaixo:
O Fail2ban é uma ferramenta gratuita que funciona junto com o firewall. Ele monitora as tentativas de acesso ao nosso servidor e pode bloquear um determinado atacante por um período de tempo. Caso ele detecte algo malicioso, o IP do atacante é bloqueado. Servidores profissionais WordPress precisam de segurança avançada e o Fail2ban pode nos ajudar nessa tarefa.
Para instalar o Fail2ban execute os comandos abaixo:
sudo apt install -y fail2ban
sudo service fail2ban start
Por padrão o Fail2ban irá monitorar e bloquear um usuário/host por 10 minutos após 6 tentativas de ataque ao SSH. Existem muitas configurações avançadas e personalizadas para Fail2ban focado em WordPress, traremos mais conteúdos sobre isso.
Para manter o servidor minimamente seguro sempre execute as tarefas abaixo:
Atualizar o servidor
Manter plugins e templates atualizados
Evitar Nulled
Configurar senhas complexas e fortes *mínimo 30 dígitos
Configuração de Firewall
Utilizar CloudFlare se possível ou Sucuri Firewall na camada Web
Conclusão
Nesse capítulo realizamos todas as configurações mínimas e necessárias para começar a trabalhar no nosso servidor para hospedagem WordPress. No próximo capítulo vou te ensinar a configurar o LEMP e emitir certificados SSL com Let’s Encrypt.
Esse tutorial foi escrito de um modo bem prático , e dispensa qualquer comentário. No YouTube você vai acompanhar na íntegra todos os comandos e etapas que realizamos para implantar esse projeto.
Desafio: Hospedar um site WordPress em Múltiplos Servidores e Load Balancer na Vultr
Ao longo dos anos já trabalhei em projetos WordPress que tinham requisitos específicos para hospedagem WordPress. Alguns deles tinham um milhares de acessos simultâneos, outros eram sites críticos que não poderiam ter problemas de indisponibilidade. Geralmente os sites eram dos nichos:
WooCommerce / Lojas Virtuais
Portais de Notícias
Plataformas de Apostas / Rifas
Sites Governamentais
Plataformas de Streaming e Eventos Online
Conteúdo Adulto
Pensar e implementar uma hospedagem WordPress para alto tráfego e mais do que isso, ter alta disponibilidade não é algo fácil. Mas nesse artigo vou dar a base para vocês de como criar uma infraestrutura mínima para WordPress com Load Balancer na Vultr.
A Vultr é uma das maiores empresas de custo benefício em Cloud/VPS. Ao longo do tempo tem evoluído muito, e já possui uma gama de serviços interessantes para projetarmos uma hospedagem WordPress.
Pensando nas possibilidades que a Vultr nos traz, iremos realizar o projeto abaixo.
Essa infraestrutura é composta por:
1 Load Balancer gerenciado pela Vultr
3 VPS Web
1 VPS para MySQL
1 Object Storage para armazenamento de imagens
VPC Vultr – Rede Virtual Privada
SSL Comprado (ou Emitido pela CloudFlare)
DNS na CloudFlare
Configurações e instalações a serem realizadas:
Nginx
PHP 7.4 e FPM
Usuário SFTP
Composer e WP-CLI
GlusterFS para volume/disco compartilhado entre todos os servidores
MySQL via Ansible
Atenção: Esse laboratório irá servir para que você compreenda como o WordPress pode ser hospedado em uma infraestrutura composta por vários servidores em um Cluster e Load Balancer na Vultr. E é o ambiente mínimo para hospedagem WordPress, mas um ambiente de produção é muito mais trabalhoso configurar e precisa de ajustes e tarefas que não menciono neste artigo/vídeo.
Agora que você já deu uma lida básica sobre nossos objetivos e o cenário do projeto, vamos começar a colocar a mão na massa.
Playlist Implantando a Infraestrutura na Vultr para WordPress
Se você precisa de um profissional para implantar uma hospedagem WordPress profissional entre em contato conosco. Atendemos agências, profissionais web, empresas de tecnologia e e-commerce.
Automação de Servidor WordPress Amazon AWS CloudFormation
Nesse artigo vamos falar um pouco do nosso projeto open source recém lançado no GitHub com foco em automação de Servidor WordPress.
Hoje em dia quase tudo o que envolve hospedagem e deploy de aplicações, nós tentamos imaginar formas de automatizar várias tarefas. Imagine você configurar um servidor na mão levando horas, e através de uma automação poder ter o ambiente pronto em minutos. Incrível, não?
Pensando na melhor forma de configurar um servidor, e até mesmo poder replicar várias vezes em novos projetos sem longas horas técnicas, elaboramos esse modelo básico de automação. Você pode utiliza-lo, customiza-lo, e trabalhar com ele conforme precise.
Esquema do processo de deploy desde a geração da AMI até o deploy do EC2.
Automação Infraestrutura (IAC)
Infraestrutura como Código (IAC), é algo que assim que descobri me apaixonei. Podemos escrever e versionar nossa infraestrutura em código (JSON,YAML), e existe várias tecnologias para isso como:
Terraform
Ansible
CloudFormation
No nosso modelo de automação, usamos o CloudFormation. Através dele definimos todo o escopo da infraestrutura que desejamos que seja provisionado como: Região, Tipo de Máquina, Tamanho do Disco, Imagem do Servidor, Regras de Segurança e muito mais.
Na console da AWS podemos fazer o deploy da infraestrutura usando nosso template diretamente na console ou via terminal com o AWS CLI.
Esquema do processo de deploy desde a geração da AMI até o deploy do EC2.
Automação Imagem Servidor WordPress
Como estamos trabalhando com AWS e principalmente usando o CloudFormation para provisionar a nossa infraestrutura. Nós precisamos ter uma AMI como base criada. O servidor irá utilizar uma imagem de sistema operacional personalizada para que inicialize com todos os serviços funcionando.
Nós podemos utilizar o Packer para automatizar a criação de uma AMI personalizada para que nós utilizemos na AWS. No nosso projeto a AMI irá utilizar o Ubuntu 20:04 e já vai vir com toda a parte de software instalado.
Automação de Software
Todos os softwares necessários para que um site WordPress consiga funcionar (Nginx, PHP, MySQL) também foram automatizados. Nós escolhemos o Ansible como ferramenta de automação na instalação e configuração da nossa Stack.
No momento que nossa AMI estiver sendo criada, o Ansible será acionado para instalar nossa Stack.
Informações da Automação WordPress AWS
Todos os requisitos e formas de uso estão no nosso GitHub.
Falar em segurança de sites é um tanto quanto complicado, principalmente quando estamos falando de WordPress. Desde que aprendi o que é um site, eu vejo vários casos onde sites foram invadidos. Lembro de 2010/2011 onde houve uma onda muito grande onde vários sites governamentais, de empresas e até o tio da esquina foram vítimas de ataques. Época louca!
Mesmo com muitas ferramentas e tecnologias atuais que protegem nossos sites e aplicações, hora ou outra é divulgado algum exploit para explorar algum plugin ou templete conhecido. Ai começa o caça as bruxas, onde o pessoal sai procurando quem está usando tal plugin e tal templete para aplicar a invasão.
Quando isso acontece normalmente as empresas saem desesperadas para tentar atualizar e corrigir a vulnerabilidade. E quando falamos em WordPress, mesmo que as empresas corrijam, se você não atualizar seus plugins e templetes é certo que será invadido mais cedo ou mais tarde.
Para você que não investiu ou blindou seu site WordPress, nesse artigo irei citar algumas das melhores ferramentas disponíveis que conheço, para que você proteja seu site.
Protegendo Sites WordPress
O WordPress sem dúvidas é a melhor plataforma que existe para termos um site institucional, um portal e até um e-commerce. Claro, existe casos e casos, mas a facilidade e opções de personalizações e recursos existentes é gigantesca! Muitas lojas utilizam o WordPress e muitos portais GIGANTES também usam o WordPress. Em em meio a tantos recursos como Plugins e Templetes, existe também muitos Plugins e Templetes com falhas de segurança gravíssimas.
A maioria das vezes são plugins e templetes que já foram descontinuados e abandonados, e você nem sabia mas continuava utilizando. É de suma importância que compre e adquira plugins e templetes de grandes empresas para ter uma garantia maior nas atualizações.
E se você ama baixar plugins e templetes premium da internet, os famosos Nulleds, cuidado! A maioria vem com códigos maliciosos ou vem com falhas de segurança que até uma criança vai conseguir invadir seu site. Não julgo quem utiliza algo pirata, mas julgo sim quem utiliza em projetos sérios em produção.
O que devo fazer para proteger meu site WordPress?
Esqueça aquela ideia que soluções gratuitas de segurança vão segurar a onda. Não vão! Se você tem uma empresa e/ou um projeto onde você depende do seu site, seja para atrair novos clientes e parceiros, é crucial que invista na segurança do seu site.
Melhores Ferramentas e Serviços de Segurança de sites WordPress
Conheça agora os melhores plugins para segurança de sites em WordPress que podem atender clientes de todo porte.
01 – SUCURI Web Site Security Platform – Serviço/Plugin
A Sucuri na minha humilde opinião, e falo isso com experiência própria, é a melhor empresa para proteção de sites WordPress. Os caras são os melhores no que fazem, digo isso pois é um serviço premium, para projetos que tem orçamento para pagar pelo serviço.
Em 2020 um dos meus clientes que é um grande portal de notícias teve todo o seu adsense e publicações de notícias parados, pois todas as páginas estavam com malware e os usuários estavam se queixando. Quando fiz uma análise, praticamente todos os arquivos foram injetados códigos maliciosos por conta de uma falha de plugin desatualizado. Adquirimos o plano Business da Sucuri em um domingo, o SLA para remoção de malwares deles é de 6 horas e em menos de 2 horas tudo foi resolvido.
Confesso que não estava muito esperançoso, era domingo! E cai da cadeira quando vi que resolveram tudo em menos de 2h, todos os arquivos que tinham sido danificados, os caras conseguiram remover os códigos maliciosos. O adsense voltou e as publicações puderam retornar ao normal, isso é fantástico.
Se você tem um e-commerce, um grande portal de notícias e/ou um projeto que realmente é algo mais corporativo e sério, o investimento feito vai valer cada centavo pago! Imagine ter uma equipe de especialistas removendo malware em poucas horas ? Não tem preço que pague!
Principais características:
Anti Vírus e Scan
Remoção de Vírus (Especialistas da Sucuri fazem isso manualmente)
Remoção de malwares e limpeza de arquivos
Verificação de Blacklist
Stop Hack
Proteção DDoS
CDN Performance
SSL
Firewall
Preço
A partir de $199/anual no plano WebSite Security Platform
A partir de $9,99/mês no plano WebSite Firewall WAF
iThemes Security é um plugin que tem como objetivo cuidar da segurança de sites em WordPress. É um plugin conhecido mundialmente e tem uma ótima qualidade e arsenal de ferramentas para combater ataques e problemas de segurança. A solução IThemes Security Pro vai te fornecer muita segurança, eu costumo indicar bastante também para meus clientes.
Principais características:
Escaneamento de Vírus
Firewall
Proteção contra ataques de força bruta
Detecção de alterações de arquivos
Detecção de erros 404
Bloqueio de Login
Bloqueio de acesso administrativo em horários específicos
Camufla a URL de Login
Backup do banco de dados
Backup dos arquivos
Notificações via e-mail
Autenticação de dois fatores
Relatórios
Preço
A partir de $199/anual
Os valores também são um pouco salgados, mas se seu projeto é algo sério o investimento vale cada centavo. Uma coisa que deve saber é que o próprio plugin tem uma ferramenta para remoção de malwares, mas em alguns casos ao remover algum malware alguma parte do código do site pode se comprometer, e quebrar o templete. Então lembre-se de fazer um backup antes de qualquer coisa.
ATENÇÃO:Para conhecer os serviços e produtos da iThemes Security acesse o link oficial: https://ithemes.com/security/
3 – Wordfance
O Wordfence é um plugin de segurança para sites em WordPress. Também possui uma suíte de ferramentas bem interessantes para aumentar a camada de segurança do seu site. Com o Wordfence você vai ter uma solução que sempre vai estar verificando os arquivos do site, monitorando os logins e até mesmo as tentativas de invasão. Eles também possuem bancos de dados com IP’s que em algum momento tentaram invadir alguém, e usam isso para proteger seu site.
O Defender Pro é um plugin de segurança para sites WordPress ofertado pela empresa Wpmudev. A Wpmudev é uma empresa especializada em fornecer diversas soluções para sites wordpress, então eles tem uma gama enorme de plugins e ferramentas, vale a pena conferir. Assim como as demais ferramentas aqui mencionadas o Defender Pro faz bem o seu papel na segurança de sites.
Investir na segurança do seu site é de extrema importância, principalmente se existe uma empresa por trás e que depende do projeto para ter novos clientes e público.
O investimento muitas das vezes é um valor um pouco salgado, mas agrega muito valor e segurança para o seu site.
WordPress Alta Performance com OpenLiteSpeed na Digital Ocean
Para quem me acompanha no YouTube sabe que lancei o Curso Digital Ocean. No entanto, gravamos uma aula específica ensinando a lançar um droplet pré-configurado com o OpenLiteSpeed para sites WordPress.
A Digital Ocean é uma das empresas que possuem a instalação do OpenLiteSpeed WordPress em 1 Clique. Ou seja, você nem precisa configurar nada. Apenas escolher a imagem e lançar. ( Isso foi explicado e demonstrado em vídeo ).
Ainda irei trazer muito conteúdo sobre o OpenLiteSpeed ou LiteSpeed de um modo mais profissional, seja para WordPress ou outro tipo de site em PHP.
Mas vamos ao que interessa…
No vídeo onde gravei a aula, você vai aprender a lançar um droplet com essa imagem do OpenLiteSpeed WordPress e dar início a configuração bem rápido. No final do vídeo fizemos alguns testes de performance, que inclusive achei muito interessante os resultados, levando em consideração que o servidor era muito pequeno.
Poderíamos ter explorado mais opções nesse cenário? Sim! No entanto, o curso Digital Ocean não é focado em OpenLiteSpeed, e sim, nas opções que a Digital Ocean nos proporciona para trabalhar.
Empresas que possuem o OpenLiteSpeed WordPress 1 Clique: