Como configurar o WordPress de alta disponibilidade com o HyperDB

O WordPress é o sistema de gerenciamento de conteúdo mais popular disponível no mercado. Dos 1 milhão de sites no mundo, mais de 25% usa o WordPress para gerenciar o conteúdo. Isso significa que o WordPress é um sistema de gerenciamento de conteúdo escalável. Quando você recebe mais de 100 mil visitantes em um mês, precisa da instância do WordPress de alta disponibilidade. Existem várias maneiras de melhorar a disponibilidade do seu site WordPress.

Caso você ainda não tenha um serviço de Hospedagem WordPress, clique aqui para conhecer toda linha exclusiva disponível na Delta Servers.

Neste guia, mostrarei como você pode configurar o WordPress para usar a replicação mysql usando o HyperDB. Primeiro de tudo, o que é o HyperDB? e o que é replicação do MySQL? Deixe-me explicar sobre essas duas coisas, em resumo.

O que é replicação do MySQL?

Em palavras simples, replicação aqui significa replicação de banco de dados ou bancos de dados de uma máquina para outra. Nesse caso, você pode configurar uma replicação mestre-escravo no MySQL para copiar todos os dados do mestre para o escravo instantaneamente. Isso significa que todos os seus dados estão disponíveis em dois servidores em vez de apenas um.

Agora, como temos nossos dados em dois servidores, podemos dividir a carga entre dois servidores. No caso de replicação mestre-escravo, você só pode inserir, atualizar ou excluir dados no servidor mestre, o servidor escravo simplesmente copiará os dados do servidor mestre. Isso significa que podemos usar o servidor escravo para executar consultas READ (sempre que um usuário solicitar alguma página) e podemos usar o servidor mestre para executar consultas de gravação (sempre que você publicar um conteúdo ou atualizar algo).

Isso significa que agora a carga está em dois servidores, em vez de um. Por exemplo, se o seu servidor mestre travar, você não poderá atualizar nada no painel de administração, mas seu site continuará ativo porque está lendo dados do servidor escravo.

O que é o HyperDB?

O HyperDB é um plugin drop-in do WordPress. Isso significa que você não precisa instalar o HyperDB adicionando um novo plugin. É apenas um arquivo PHP que você deve carregar dentro do diretório de instalação do WordPress. Mostrarei exatamente como executar esta tarefa.

Usando o HyperDB, podemos permitir que o WordPress use servidores diferentes para diferentes tipos de consultas. Por exemplo, podemos permitir que o WordPress use o servidor Mestre para executar inserções, atualizações e exclusões de consultas, enquanto o servidor Slave use consultas de leitura sempre que um usuário solicitar os dados.

Isso significa que, dependendo do tipo de consulta, o WordPress usará os servidores mencionados no plug-in do HyperDB. É muito fácil de configurar. Você pode configurá-lo em 10 minutos depois de se acostumar. Finalmente, vamos começar com o guia.

Pré-requisitos

Para seguir este guia, você deve ter um site WordPress configurado no seu servidor. Se você ainda não configurou seu servidor, recomendo que você siga nosso tutorial para configurar vários sites wordpress em um único host . Mesmo se você estiver hospedando apenas um site no momento, seria benéfico configurar o servidor dessa maneira.

E você deve ter a replicação do MySQL em vigor. Se você não executou essa tarefa, siga nosso guia para configurar a replicação master-slave ou master-master no MySQL.

Você pode configurar o WordPress primeiro ou configurar a replicação primeiro. O pedido não importa neste caso. Nossos guias são criados com essa preocupação em mente.

Depois de concluir a configuração do site e da replicação do WordPress, você pode avançar.

WordPress de alta disponibilidade usando HyperDB

Dividi a configuração real do HyperDB em três etapas. Na primeira etapa, baixaremos e extrairemos o plugin HyperDB do WordPress. Então, vamos fazê-lo.

BAIXAR HYPERDB

Para baixar o HyperDB, execute os seguintes comandos no seu servidor WordPress. Verifique se você está no diretório inicial do usuário atual. Se você quiser acessar o diretório inicial, basta executar o cdcomando no seu terminal. Quando estiver no diretório inicial, execute os seguintes comandos.

$ sudo apt-get install descompacte -y
$ wget https://downloads.wordpress.org/plugin/hyperdb.zip
$ descompacte hyperdb.zip

Após a conclusão do download, temos que mover os arquivos disponíveis dentro do diretório hyperdb para o diretório de instalação do WordPress.

MOVER E ATUALIZAR DB-CONFIG.PHP

Agora, vamos mover e atualizar nosso arquivo db-config.php para o diretório de instalação do WordPress. Assim como o arquivo wp-config.php, o arquivo db-config.php conterá todas as informações sobre todos os servidores de banco de dados conectados ao site WordPress.

Execute o seguinte comando para mover o arquivo db-config.php para o diretório de instalação do WordPress.

$ sudo mv ~ / hyperdb / db-config.php
/var/www/example-site.com /db-config.php

Após mover um arquivo, execute o seguinte comando para abrir um arquivo no modo de edição.

$ sudo nano /var/www/example-site.com /db-config.php

Agora, encontre DB_HOSTe ignore a primeira ocorrência . Nós apenas temos que atualizar a segunda ocorrência. A configuração padrão será semelhante à seguinte.

/ **

 * Isso adiciona o mesmo servidor novamente, só que desta vez ele é configurado como escravo.

 * Os três últimos parâmetros são definidos para os padrões, mas são mostrados para maior clareza.

 * /
$ wpdb-> add_database (matriz (
        'host' => DB_HOST, // Se a porta for diferente de 3306, use host: port.
        'usuário' => DB_USER,
        'password' => DB_PASSWORD,
        'name' => DB_NAME,
        'write' => 0,
        'read' => 1,
        'conjunto de dados' => 'global',
        'timeout' => 0,2,
));

Atualize a hostdiretiva de DB_HOSTpara SLAVE_HOST. Uma vez feito isso, pressione  CTRL + X seguido por  Y seguido de  Enter para salvar o arquivo. Agora, também precisamos atualizar nosso arquivo wp-config.php.

Temos que adicionar o host escravo, que pode ser o IP privado se seus servidores estiverem em rede privada ou IP público se seus servidores não estiverem em rede privada. Execute o seguinte comando para anexar o wp-config.php com a definição de SLAVE_HOST.

$ echo
"define ('SLAVE_HOST', ' IP_ADDRESS_OF_SLAVE ');" | sudo tee -a
/var/www/example-site.com /wp-config.php

Substitua a parte colorida no código. É um comando de uma linha para adicionar uma linha no final do arquivo wp-config.php. Você também pode abrir o arquivo no modo de edição e adicionar a linha manualmente, isso não faz nenhuma diferença.

MOVA DB.PHP PARA WP-CONTENT

Na última etapa, basta mover o db.phparquivo do diretório hyperdb para o diretório wp-content da instalação do WordPress. Execute o seguinte comando para mover o arquivo.

$ sudo mv ~ / hyperdb / db.php /var/www/example-site.com /
wp-content /

E isso é tudo! Agora, nossa instalação do WordPress é de alta disponibilidade, pois ela lê dados do nosso servidor escravo e grava dados no servidor mestre.

Conclusão : À medida que o tráfego no site WordPress aumenta, precisamos garantir que nosso site WordPress esteja disponível 24 horas por dia, 7 dias por semana, sem paradas. Até 60 minutos de inatividade podem causar um enorme dano à reputação do nosso site. A primeira etapa que eu recomendo que você tome para dimensionar seu site WordPress é hospedar o banco de dados em um servidor diferente. Em seguida, você pode configurar o HyperDB para melhorar ainda mais a disponibilidade, o desempenho e o monitoramento.

A coisa mais difícil e demorada nesse processo é configurar a replicação do MySQL. A configuração do HyperDB para alta disponibilidade do WordPress é muito fácil e rápida. Assim, depois de se acostumar, você poderá configurar o HyperDB em minutos. Se você tiver alguma dúvida, use a seção de comentários abaixo. Se você estiver usando o VPS da Delta Servers, também poderá entrar em contato com o departamento de suporte para obter assistência.

Deixe uma resposta

O seu endereço de e-mail não será publicado.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.