Apache e Nginx. Conectado por uma corrente (parte 2)

Semana passada em a primeira parte Neste artigo descrevemos como a combinação Apache e Nginx no Timeweb foi construída. Estamos muito gratos aos leitores por suas perguntas e discussões ativas! Hoje contamos como é implementada a disponibilização de diversas versões de PHP em um servidor e porque garantimos a segurança dos dados aos nossos clientes.

Apache e Nginx. Conectado por uma corrente (parte 2)
Hospedagem Compartilhada (Hospedagem compartilhada) pressupõe que muitas contas de clientes estão hospedadas em um servidor. Via de regra, a conta de um cliente contém vários sites. Os sites funcionam tanto em CMS prontos (por exemplo, Bitrix) quanto em CMS personalizados. Assim, os requisitos técnicos de todos os sistemas são diferentes, portanto várias versões do PHP devem ser gerenciadas dentro do mesmo servidor.

Usamos Nginx como servidor web principal: ele aceita todas as conexões externas e fornece conteúdo estático. Fazemos proxy das solicitações restantes para o servidor web Apache. É aqui que a mágica começa: cada versão do PHP executa uma instância separada do Apache que escuta em uma porta específica. Esta porta está registrada no host virtual do site do cliente.

Você pode ler mais sobre o funcionamento do esquema Compartilhado em a primeira parte do artigo.

Apache e Nginx. Conectado por uma corrente (parte 2)
Esquema compartilhado

É importante ressaltar que instalamos pacotes PHP para diferentes versões, pois normalmente todas as distribuições possuem apenas uma versão do PHP.

Segurança primeiro!

Uma das principais tarefas da hospedagem compartilhada é garantir a segurança dos dados dos clientes. Contas diferentes, localizadas no mesmo servidor, são independentes e independentes. Como funciona?

Os arquivos do site são armazenados nos diretórios iniciais dos próprios usuários e os caminhos necessários são especificados no host virtual dos servidores web. É importante que os servidores web, Nginx e Apache, tenham acesso aos arquivos finais de um cliente específico, já que o servidor web é iniciado por apenas um usuário.

Nginx usa um patch de segurança desenvolvido pela equipe Timeweb: esse patch altera o usuário para aquele especificado no arquivo de configuração do servidor web.

Para outros provedores de hospedagem, esse problema pode ser resolvido, por exemplo, através da manipulação de direitos estendidos do sistema de arquivos (ACL).

Apache usa um módulo de multiprocessamento para executar MPM-ITK. Ele permite que cada VirtualHost seja executado com seu próprio ID de usuário e ID de grupo.
Apache e Nginx. Conectado por uma corrente (parte 2)
Assim, graças às operações descritas acima, obtemos um ambiente seguro e isolado para cada cliente. Ao mesmo tempo, também resolvemos problemas de dimensionamento para hospedagem compartilhada.

Como a combinação Apache e Nginx é implementada pode ser lida em a primeira parte nosso artigo. Além disso, também é descrita ali uma configuração alternativa através do esquema Dedicado.

Se você tiver alguma dúvida para nossos especialistas, escreva nos comentários. Tentaremos responder a tudo ou descrever a solução do problema com mais detalhes nos artigos seguintes.

Fonte: habr.com

Adicionar um comentário