.

Aurich Lawson | Getty Images
Bem-vindo de volta à nossa série sobre como o Strong The One é hospedado e executado! Na semana passada, na primeira parte, abrimos as portas (virtuais) para espiar dentro do data center (virtual) Ars. Conversamos sobre nossa configuração do Amazon Web Services, que é construída principalmente em torno de contêineres ECS sendo girados conforme necessário para lidar com o tráfego da Web, e percorremos as maneiras pelas quais todos os nossos serviços de hospedagem se conectam e funcionam como um todo.
Nesta semana, mudamos nosso foco para uma camada diferente na pilha – os aplicativos que executamos nesses serviços e como eles trabalhar na nuvem. Afinal, esses aplicativos são o motivo pelo qual você vem ao site; você não está aqui para se maravilhar com uma infraestrutura funcionando perfeitamente, mas sim para realmente ler o site. (Quero dizer, acho que é por isso que você veio aqui. Ou é isso ou todo mundo está aparecendo esperando que eu vá derramar ketchup em mim e me lançar em um Slip-‘N-Slide, mas isso foi um- coisa que fiz há muito tempo quando era jovem e precisava do dinheiro.)
Como funciona a hospedagem WordPress tradicional
Embora eu seja, na melhor das hipóteses, um administrador de sistema casual, tendo desligado meus esporões profissionais uma década e mudado atrás, eu tenho alguma experiência prática relevante em hospedar WordPress. Atualmente, sou o administrador voluntário de meia dúzia de sites WordPress, incluindo o destino de previsão do tempo da área de Houston, Space City Weather (junto com sua contraparte em espanhol Tiempo Ciudad Espacial), o blog focado em furacões no Atlântico The Eyewall, meu blog pessoal , e algumas outras probabilidades e fins.
No que diz respeito aos aplicativos hospedados, o WordPress é menos exigente do que a maioria, sendo um dos aplicativos da Web mais usados no planeta Terra. Se um for auto-hospedado, leva mais tempo para configurar o servidor web e o manipulador PHP do que para configurar o WordPress – basta baixar um arquivo zip, descompactá-lo em seu webroot e navegar até o URL adequado. Especifique seu nome de usuário e suas informações MySQL e pronto, você tem um site WordPress pronto!
Em termos de fluxo funcional, o WordPress auto-hospedado requer basicamente quatro coisas:
- O próprio aplicativo WordPress PHP
- Um aplicativo de servidor da Web, como Apache ou Nginx, para realmente servir coisas ao leitor visitante
- Um manipulador PHP, como php-fpm, para executar o código PHP e criar coisas para o aplicativo do servidor web servir
- Um banco de dados para WordPress para armazenar postagens e outras coisas do WP em
Além disso, o host no qual você está executando o WordPress precisa fornecer os seguintes recursos para permitir que esses aplicativos realmente tenham um local para funcionar:
- Alguma quantidade de RAM
- Alguma quantidade de tempo de CPU
- Alguma quantidade de espaço em disco para manter o código do nosso aplicativo
- Alguma quantidade adicional de espaço em disco para manter nosso banco de dados
- Alguns adicional quantidade adicional de espaço em disco para armazenar dados criados por nossos usuários de aplicativos (como arquivos carregados)
- Algum tipo de conectividade de rede com o mundo exterior
Quando instalado, o WordPress existe principalmente como uma coleção de tabelas em um banco de dados MySQL e uma pilha de arquivos em seu diretório raiz da web. O diretório raiz do WordPress do meu blog pessoal, por exemplo, é assim:

Lee Hutchinson
Não é muito emocionante. E não há arquivos binários executáveis aqui nem nada – eles são apenas arquivos PHP e requerem a magia de um manipulador PHP como php-fpm para realmente correr eles. Caso contrário, eles apenas ficam sentados lá.
O processo de realmente correndo esses arquivos PHP funcionam assim: digamos que você queira ver uma história na Strong The One – como, digamos, esta. Você clica nesse link e seu navegador da Web envia uma solicitação HTTP GET que, por meio do processo descrito na primeira parte, finalmente chega após alguns milissegundos no back-end da Web da Strong The One. (Para ser mais específico, a solicitação é atendida por um dos processos Nginx dentro de um dos muitos processos em execução arx-production-web-apps
tarefas).
O Nginx analisa o caminho na URL e descobre qual parte corresponde à postagem que você está pedindo para visualizar e, em seguida, diz ao php-fpm para começar a executar o código PHP do WordPress index.php
arquivo, usando o post solicitado como parâmetro. O processo php-fpm também faz com que as consultas sejam executadas no MySQL – neste caso, ele extrai o texto e a estrutura da postagem solicitada do banco de dados. Além disso, o php-fpm extrai URLs para imagens do banco de dados para que seu navegador possa solicitar essas imagens de nosso CDN. (Um CDN, ou “rede de entrega de conteúdo”, é um serviço que armazena em cache suas coisas para você em vários lugares diferentes, para que seu site carregue mais rápido – pelo menos em teoria.)
Tudo isso acontece rapidamente e dentro dos limites de um único servidor – seja uma caixa física, um VPS ou qualquer outra coisa que você tenha. Se retirarmos o servidor para conter tudo isso, como tudo se encaixa?
A versão abreviada é que se encaixa porque usamos as ferramentas da primeira parte e, aparentemente, tudo funciona porque você está lendo estas palavras agora. Ciência!
.