A semana pasada en
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
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
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
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