technology

Como hospedamos a Ars Technica na nuvem, parte dois: O software

.

Bem-vindos a bordo do QG orbital, leitores!
Prolongar / Bem-vindos a bordo do QG orbital, leitores!

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:

Se você já viu um diretório raiz do WordPress, já viu todos eles.
Prolongar / Se você já viu um diretório raiz do WordPress, já viu todos eles.

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!

.

Mostrar mais

Artigos relacionados

Deixe um comentário

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

Botão Voltar ao topo