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

Na semana passada, na primeira parte deste artigo, descrevemos como o pacote Apache e Nginx é construído no Timeweb. Estamos muito gratos aos leitores por suas perguntas e discussão ativa! Hoje vamos contar como a disponibilidade de várias versões de PHP em um servidor é realizada e porque garantimos a segurança dos dados aos nossos clientes.





Hospedagem Virtual ( hospedagem compartilhada) significa um único servidor, uma pluralidade de contas de clientes. A conta de um cliente, via de regra, contém vários sites. Os sites funcionam tanto em CMS prontos (por exemplo, Bitrix) quanto em customizados. Assim, os requisitos técnicos para todos os sistemas são diferentes, portanto, é necessário gerenciar várias versões do PHP dentro de um servidor.



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



Você pode ler sobre o trabalho do esquema Compartilhado com mais detalhes na primeira parte do artigo .





Esquema compartilhado



É importante notar que colocamos os pacotes PHP em versões diferentes, porque geralmente todas as distribuições têm apenas uma versão PHP.



Segurança primeiro!



Uma das principais tarefas da hospedagem compartilhada é garantir a segurança dos dados do cliente. Contas diferentes, estando em um servidor, são independentes e independentes. Como funciona?



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



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



Outros provedores de hospedagem podem resolver esse problema, por exemplo, por meio da manipulação com direitos estendidos do sistema de arquivos (ACL).



O Apache usa o módulo de multiprocessamento mpm-itk . Ele permite que cada VirtualHost seja executado com seu próprio ID de usuário e ID de grupo.



Assim, graças às operações descritas acima, conseguimos um ambiente seguro e isolado para cada cliente. Ao mesmo tempo, também resolvemos os problemas de dimensionamento para hospedagem compartilhada.



Você pode ler como as ligações Apache e Nginx são implementadas na primeira parte de nosso artigo. Além disso, uma configuração alternativa por meio do esquema Dedicado também é descrita lá.



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



All Articles