Apache e Nginx. Conectado por unha cadea (parte 2)

A semana pasada en a primeira parte Neste artigo describimos como se construíu a combinación Apache e Nginx en Timeweb. Estamos moi agradecidos aos lectores polas súas preguntas e discusión activa! Hoxe contámosche como se implementa a dispoñibilidade de varias versións de PHP nun servidor e por que garantimos a seguridade dos datos aos nosos clientes.

Apache e Nginx. Conectado por unha cadea (parte 2)
Aloxamento compartido (Aloxamento compartido) asume que moitas contas de clientes están aloxadas nun servidor. Como regra xeral, a conta dun cliente contén varios sitios web. Os sitios web funcionan tanto en CMS preparados (por exemplo, Bitrix) como en personalizados. Así, os requisitos técnicos de todos os sistemas son diferentes, polo que hai que xestionar varias versións de PHP dentro do mesmo servidor.

Usamos Nginx como servidor web principal: acepta todas as conexións de fóra e serve contido estático. Proxy as solicitudes restantes para o servidor web Apache. Aquí é onde comeza a maxia: cada versión de PHP executa unha instancia de Apache separada que escoita nun porto específico. Este porto está rexistrado no servidor virtual do sitio do cliente.

Podes ler máis sobre o funcionamento do esquema compartido en primeira parte do artigo.

Apache e Nginx. Conectado por unha cadea (parte 2)
Esquema compartido

É importante ter en conta que instalamos paquetes PHP para versións diferentes, porque normalmente todas as distribucións teñen só unha versión de PHP.

A seguridade primeiro!

Unha das principais tarefas do aloxamento compartido é garantir a seguridade dos datos dos clientes. As diferentes contas, situadas no mesmo servidor, son independentes e independentes. Cómo funciona?

Os ficheiros do sitio web almacénanse nos directorios de inicio dos propios usuarios e as rutas necesarias especifícanse no servidor virtual dos servidores web. É importante que os servidores web, Nginx e Apache, teñan acceso aos ficheiros finais dun cliente específico, xa que o servidor web é lanzado por un só usuario.

Nginx usa un parche de seguridade desenvolvido polo equipo de Timeweb: este parche cambia o usuario ao especificado no ficheiro de configuración do servidor web.

Para outros provedores de hospedaxe, este problema pódese resolver, por exemplo, mediante a manipulación dos dereitos de sistema de ficheiros estendidos (ACL).

Apache usa un módulo de multiprocesamento para executarse mpm-itk. Permite que cada VirtualHost funcione co seu propio ID de usuario e ID de grupo.
Apache e Nginx. Conectado por unha cadea (parte 2)
Así, grazas ás operacións descritas anteriormente, obtemos un entorno seguro e illado para cada cliente. Ao mesmo tempo, tamén resolvemos problemas de escalado para a hospedaxe compartida.

Pódese ler como se implementa a combinación Apache e Nginx a primeira parte noso artigo. Ademais, alí tamén se describe unha configuración alternativa a través do esquema Dedicado.

Se tes algunha dúbida para os nosos expertos, escribe nos comentarios. Tentaremos responder a todo ou describir a solución do problema con máis detalle nos seguintes artigos.

Fonte: www.habr.com

Engadir un comentario