Histórico rápido:
Temos uma única instância do WordPress, com o Multisite ativado, hospedando três blogs separados. (blog.example.com/blog1, blog.example.com/blog2, blog.example.com/blog3).
Esse multissite terá balanceamento de carga em uma camada da web de quatro servidores, todos acessando o mesmo banco de dados. Entendo que blogs.dir
será necessário sincronizar a camada da Web, para que a mídia esteja presente, independentemente do servidor que um cliente acessar.
Questão:
Posso ter um quinto servidor da Web (ou seja post.example.com
), cujo único objetivo é permitir que os editores façam login e publiquem novos conteúdos em qualquer um dos três blogs? Dessa forma, os servidores com balanceamento de carga são apenas receptores do conteúdo carregado post.example.com
.
Sei que a parte da sincronização é possível, mas não tenho certeza sobre como configurar o WordPress para ser acessível a partir de dois subdomínios diferentes. Isso é possível?
Editar: devo acrescentar que uma meta adicional, configurando-a desta maneira, é a esperança de obter alguma segurança através da obscuridade, bloqueando o acesso ao /wp-admin/
nível da web, para que você possa fazer login apenas no servidor da web ( post
), mas de claro que tudo depende da questão acima mencionada. :)
Zombe abaixo:
Respostas:
Sim, isso é possível e várias agências de notícias e mídia trabalham com abordagens semelhantes no WordPress.
Qual é o seu processo editorial?
A etapa mais importante é entender seu processo editorial e quanto controle você precisa ter sobre o conteúdo antes que ele entre no ar.
- por exemplo, considere estes 3 pontos:
1. Você precisa de aprovações de terceiros para imagens?
2. Você ou seu cliente precisam assinar cópia / imagem / vídeo / layout antes da publicação do conteúdo?
3. Vocês, editores, começam a trabalhar em semanas ou problemas diferentes e estão planejando que o conteúdo seja publicado semanas antes ...
Se você respondeu Sim a qualquer uma dessas opções, um único banco de dados compartilhado entre o servidor Pré-Live / Staging e o servidor Live não é 'possível'. Porque você pergunta? porque uma nova postagem precisa ser publicada antes que possa ser vista por não usuários ou terceiros que você também não deseja fornecer logins. (BTW ... tudo é possível com tempo, dinheiro e habilidades para personalizar as funções do usuário e os níveis de acesso).
Então, de volta à solução escalável WordPress
O DOMÍNIO A (para o que seus clientes e visitantes vão) precisará ser apontado para um HTTP Load Balancer.
O Load Balancer direcionará o tráfego do cliente para um dos vários servidores da web. Esses servidores escravos são mantidos no LSYNC com um servidor MASTER.
Idealmente, deve haver 2 servidores de banco de dados separados (para balancear as solicitações de leitura / gravação e a escala). Você pode esperar muito tráfego de leitura dos visitantes, mas deseja garantir que o tráfego WRITE de novas postagens, etc., não interfira com suas solicitações de leitura.
O DOMÍNIO A também pode ser apontado para um HTTPS Load Balancer que está configurado para
1. permitir apenas o tráfego do seu endereço IP do Office e 2. FORCE conexão SSL para Admin / Login.
Essa é uma mudança fácil para o
wp-config.php
arquivo.Aqui está um diagrama do que construímos (com algum suporte da Rackspace)
HyperDB
No final, temos a configuração do HyperDB para gerenciar os vários servidores e solicitações de banco de dados. Isso também foi fácil, pois é principalmente um plugin com um longo script de configuração.
W3TC W3 Total Cache
Também temos a configuração HyperDB e W3TC .. isso também exigiu muita carga dos servidores de banco de dados
O principal motivo pelo qual usamos o W3TC foi descarregar todo o conteúdo estático no Rackspace. A configuração da rede de entrega de conteúdo no W3TC também é muito fácil :)
fonte