Apache et Nginx. Relié par une chaîne (partie 2)

La semaine dernière à la première partie Dans cet article, nous avons décrit comment la combinaison Apache et Nginx dans Timeweb a été créée. Nous sommes très reconnaissants aux lecteurs pour leurs questions et leurs discussions actives ! Aujourd'hui, nous vous expliquons comment est mise en œuvre la disponibilité de plusieurs versions de PHP sur un même serveur et pourquoi nous garantissons la sécurité des données à nos clients.

Apache et Nginx. Relié par une chaîne (partie 2)
иртуальный остинг (Hébergement partagé) suppose que de nombreux comptes clients sont hébergés sur un seul serveur. En règle générale, le compte d’un client contient plusieurs sites Web. Les sites Web fonctionnent à la fois sur des CMS prêts à l'emploi (par exemple, Bitrix) et sur des CMS personnalisés. Ainsi, les exigences techniques de tous les systèmes sont différentes, donc plusieurs versions de PHP doivent être gérées au sein du même serveur.

Nous utilisons Nginx comme serveur Web principal : il accepte toutes les connexions extérieures et sert du contenu statique. Nous transmettons les requêtes restantes au serveur Web Apache. C'est là que la magie commence : chaque version de PHP exécute une instance Apache distincte qui écoute sur un port spécifique. Ce port est enregistré dans l'hôte virtuel du site client.

Vous pouvez en savoir plus sur le fonctionnement du programme partagé dans la première partie de l'article.

Apache et Nginx. Relié par une chaîne (partie 2)
Régime partagé

Il est important de noter que nous installons des packages PHP pour différentes versions, car généralement toutes les distributions n'ont qu'une seule version de PHP.

La sécurité d'abord!

L'une des tâches principales de l'hébergement mutualisé est d'assurer la sécurité des données des clients. Différents comptes, situés sur un même serveur, sont indépendants et indépendants. Comment ça fonctionne?

Les fichiers du site Web sont stockés dans les répertoires personnels des utilisateurs eux-mêmes et les chemins requis sont spécifiés dans l'hôte virtuel des serveurs Web. Il est important que les serveurs web, Nginx et Apache, aient accès aux fichiers finaux d'un client spécifique, puisque le serveur web n'est lancé que par un seul utilisateur.

Nginx utilise un patch de sécurité développé par l'équipe Timeweb : ce patch remplace l'utilisateur par celui spécifié dans le fichier de configuration du serveur web.

Pour d'autres fournisseurs d'hébergement, ce problème peut être résolu, par exemple, en manipulant les droits étendus du système de fichiers (ACL).

Apache utilise un module multitraitement pour exécuter mpm-itk. Il permet à chaque VirtualHost de s'exécuter avec son propre ID utilisateur et ID de groupe.
Apache et Nginx. Relié par une chaîne (partie 2)
Ainsi, grâce aux opérations décrites ci-dessus, nous obtenons un environnement sécurisé et isolé pour chaque client. Dans le même temps, nous résolvons également les problèmes de mise à l’échelle de l’hébergement partagé.

Comment la combinaison Apache et Nginx est implémentée peut être lue dans la première partie notre article. De plus, une configuration alternative via le schéma dédié y est également décrite.

Si vous avez des questions pour nos experts, écrivez dans les commentaires. Nous essaierons de répondre à tout ou de décrire la solution au problème plus en détail dans les articles suivants.

Source: habr.com

Ajouter un commentaire