Vorige week in
Gedeelde hosting (Shared hosting) gaat ervan uit dat veel klantaccounts op één server worden gehost. In de regel bevat één klantaccount meerdere websites. Websites werken zowel op kant-en-klaar CMS (bijvoorbeeld Bitrix) als op maat gemaakte CMS. De technische vereisten van alle systemen zijn dus verschillend, dus meerdere versies van PHP moeten binnen dezelfde server worden beheerd.
We gebruiken Nginx als de belangrijkste webserver: het accepteert alle verbindingen van buitenaf en serveert statische inhoud. We proxy de resterende verzoeken verder naar de Apache-webserver. Dit is waar de magie begint: elke versie van PHP voert een afzonderlijke Apache-instantie uit die op een specifieke poort luistert. Deze poort wordt geregistreerd in de virtuele host van de clientsite.
Meer over de werking van de Gedeelde regeling leest u in
Gedeeld schema
Het is belangrijk op te merken dat we PHP-pakketten voor verschillende versies installeren, omdat meestal alle distributies slechts één versie van PHP hebben.
Veiligheid eerst!
Een van de belangrijkste taken van shared hosting is het waarborgen van de veiligheid van klantgegevens. Verschillende accounts, die zich op dezelfde server bevinden, zijn onafhankelijk en onafhankelijk. Hoe het werkt?
Websitebestanden worden opgeslagen in de homedirectory's van de gebruikers zelf, en de vereiste paden worden gespecificeerd in de virtuele host van de webservers. Het is belangrijk dat de webservers, Nginx en Apache, toegang hebben tot de uiteindelijke bestanden van een specifieke client, aangezien de webserver door slechts één gebruiker wordt gestart.
Nginx maakt gebruik van een beveiligingspatch die is ontwikkeld door het Timeweb-team: deze patch verandert de gebruiker in de gebruiker die is opgegeven in het configuratiebestand van de webserver.
Voor andere hostingproviders kan dit probleem bijvoorbeeld worden opgelost door manipulatie van uitgebreide bestandssysteemrechten (ACL).
Apache gebruikt een multiprocessing-module om te draaien
Dankzij de hierboven beschreven handelingen verkrijgen we dus voor elke klant een veilige, geïsoleerde omgeving. Tegelijkertijd lossen we ook schaalproblemen voor Shared hosting op.
Hoe de Apache en Nginx combinatie wordt geïmplementeerd kun je inlezen
Als u vragen heeft voor onze experts, schrijf dan in de reacties. We zullen proberen alles te beantwoorden of de oplossing voor het probleem in meer detail te beschrijven in de volgende artikelen.
Bron: www.habr.com