Apache i Nginx. Connectat per una cadena (part 2)

La setmana passada a la primera part En aquest article vam descriure com es va crear la combinació Apache i Nginx a Timeweb. Estem molt agraïts als lectors per les seves preguntes i la discussió activa! Avui us expliquem com s'implementa la disponibilitat de diverses versions de PHP en un servidor i per què garantim la seguretat de les dades als nostres clients.

Apache i Nginx. Connectat per una cadena (part 2)
Allotjament compartit (Allotjament compartit) assumeix que molts comptes de client estan allotjats en un mateix servidor. Per regla general, el compte d'un client conté diversos llocs web. Els llocs web funcionen tant en CMS ja fets (per exemple, Bitrix) com en personalitzats. Així, els requisits tècnics de tots els sistemes són diferents, per la qual cosa s'han de gestionar diverses versions de PHP dins del mateix servidor.

Utilitzem Nginx com a servidor web principal: accepta totes les connexions des de fora i ofereix contingut estàtic. Transmetem les sol·licituds restants al servidor web Apache. Aquí és on comença la màgia: cada versió de PHP executa una instància Apache independent que escolta en un port específic. Aquest port està registrat a l'amfitrió virtual del lloc del client.

Podeu llegir més sobre el funcionament de l'esquema compartit a la primera part de l’article.

Apache i Nginx. Connectat per una cadena (part 2)
Esquema compartit

És important tenir en compte que instal·lem paquets PHP per a diferents versions, perquè normalment totes les distribucions tenen només una versió de PHP.

Seguretat primer!

Una de les principals tasques de l'allotjament compartit és garantir la seguretat de les dades dels clients. Els diferents comptes, situats al mateix servidor, són independents i independents. Com funciona?

Els fitxers del lloc web s'emmagatzemen als directoris d'inici dels mateixos usuaris i els camins necessaris s'especifiquen a l'amfitrió virtual dels servidors web. És important que els servidors web, Nginx i Apache, tinguin accés als fitxers finals d'un client concret, ja que el servidor web només el llança un usuari.

Nginx utilitza un pedaç de seguretat desenvolupat per l'equip de Timeweb: aquest pedaç canvia l'usuari a l'especificat al fitxer de configuració del servidor web.

Per a altres proveïdors d'allotjament, aquest problema es pot resoldre, per exemple, mitjançant la manipulació dels drets del sistema de fitxers ampliats (ACL).

Apache utilitza un mòdul multiprocessament per executar-se mpm-itk. Permet que cada VirtualHost s'executi amb el seu propi ID d'usuari i ID de grup.
Apache i Nginx. Connectat per una cadena (part 2)
Així, gràcies a les operacions descrites anteriorment, obtenim un entorn segur i aïllat per a cada client. Al mateix temps, també resolem problemes d'escalat per a l'allotjament compartit.

Es pot llegir com s'implementa la combinació d'Apache i Nginx la primera part el nostre article. A més, també s'hi descriu una configuració alternativa mitjançant l'esquema Dedicat.

Si teniu cap pregunta per als nostres experts, escriu-hi als comentaris. Intentarem respondre-ho tot o descriure la solució del problema amb més detall als articles següents.

Font: www.habr.com

Afegeix comentari