Apache & Nginx. Συνδέεται με μία αλυσίδα (μέρος 2)

Την περασμένη εβδομάδα στο το πρώτο μέρος Σε αυτό το άρθρο περιγράψαμε πώς δημιουργήθηκε ο συνδυασμός Apache και Nginx στο Timeweb. Ευχαριστούμε πολύ τους αναγνώστες για τις ερωτήσεις και την ενεργό συζήτηση! Σήμερα σας λέμε πώς υλοποιείται η διαθεσιμότητα πολλών εκδόσεων PHP σε έναν διακομιστή και γιατί εγγυόμαστε την ασφάλεια των δεδομένων στους πελάτες μας.

Apache & Nginx. Συνδέεται με μία αλυσίδα (μέρος 2)
Κοινόχρηστη φιλοξενία (Κοινόχρηστη φιλοξενία) προϋποθέτει ότι πολλοί λογαριασμοί πελατών φιλοξενούνται σε έναν διακομιστή. Κατά κανόνα, ο λογαριασμός ενός πελάτη περιέχει πολλούς ιστότοπους. Οι ιστότοποι λειτουργούν τόσο σε έτοιμα CMS (για παράδειγμα, Bitrix) όσο και σε προσαρμοσμένα. Έτσι, οι τεχνικές απαιτήσεις όλων των συστημάτων είναι διαφορετικές, επομένως πολλές εκδόσεις της PHP πρέπει να διαχειρίζονται στον ίδιο διακομιστή.

Χρησιμοποιούμε το Nginx ως τον κύριο διακομιστή ιστού: δέχεται όλες τις συνδέσεις από το εξωτερικό και εξυπηρετεί στατικό περιεχόμενο. Αποστέλλουμε μεσολάβηση για τα υπόλοιπα αιτήματα στον διακομιστή ιστού Apache. Εδώ αρχίζει η μαγεία: κάθε έκδοση της PHP εκτελεί μια ξεχωριστή παρουσία Apache που ακούει σε μια συγκεκριμένη θύρα. Αυτή η θύρα είναι καταχωρημένη στον εικονικό κεντρικό υπολογιστή της τοποθεσίας πελάτη.

Μπορείτε να διαβάσετε περισσότερα σχετικά με τη λειτουργία του Κοινόχρηστου συστήματος στο το πρώτο μέρος του άρθρου.

Apache & Nginx. Συνδέεται με μία αλυσίδα (μέρος 2)
Κοινό σχέδιο

Είναι σημαντικό να σημειωθεί ότι εγκαθιστούμε πακέτα PHP για διαφορετικές εκδόσεις, επειδή συνήθως όλες οι διανομές έχουν μόνο μία έκδοση της PHP.

Πρώτα η ασφάλεια!

Ένα από τα κύρια καθήκοντα της κοινής φιλοξενίας είναι η διασφάλιση της ασφάλειας των δεδομένων πελατών. Διαφορετικοί λογαριασμοί, που βρίσκονται στον ίδιο διακομιστή, είναι ανεξάρτητοι και ανεξάρτητοι. Πως δουλεύει?

Τα αρχεία ιστότοπου αποθηκεύονται στους οικιακούς καταλόγους των ίδιων των χρηστών και οι απαιτούμενες διαδρομές καθορίζονται στον εικονικό κεντρικό υπολογιστή των διακομιστών Ιστού. Είναι σημαντικό οι διακομιστές ιστού, Nginx και Apache, να έχουν πρόσβαση στα τελικά αρχεία ενός συγκεκριμένου πελάτη, αφού ο διακομιστής ιστού εκκινείται από έναν μόνο χρήστη.

Το Nginx χρησιμοποιεί μια ενημερωμένη έκδοση κώδικα ασφαλείας που αναπτύχθηκε από την ομάδα Timeweb: αυτή η ενημερωμένη έκδοση κώδικα αλλάζει τον χρήστη σε αυτό που καθορίζεται στο αρχείο διαμόρφωσης του διακομιστή web.

Για άλλους παρόχους φιλοξενίας, αυτό το πρόβλημα μπορεί να λυθεί, για παράδειγμα, μέσω του χειρισμού των εκτεταμένων δικαιωμάτων συστήματος αρχείων (ACL).

Ο Apache χρησιμοποιεί μια λειτουργική μονάδα πολλαπλής επεξεργασίας για την εκτέλεση mpm-itk. Επιτρέπει σε κάθε VirtualHost να τρέχει με το δικό του αναγνωριστικό χρήστη και αναγνωριστικό ομάδας.
Apache & Nginx. Συνδέεται με μία αλυσίδα (μέρος 2)
Έτσι, χάρη στις λειτουργίες που περιγράφονται παραπάνω, αποκτούμε ένα ασφαλές, απομονωμένο περιβάλλον για κάθε πελάτη. Ταυτόχρονα, επιλύουμε επίσης προβλήματα κλιμάκωσης για την Κοινόχρηστη φιλοξενία.

Μπορείτε να διαβάσετε πώς υλοποιείται ο συνδυασμός Apache και Nginx το πρώτο μέρος το άρθρο μας. Επιπλέον, μια εναλλακτική διαμόρφωση μέσω του Dedicated σχήματος περιγράφεται επίσης εκεί.

Εάν έχετε ερωτήσεις για τους ειδικούς μας, γράψτε στα σχόλια. Θα προσπαθήσουμε να απαντήσουμε σε όλα ή να περιγράψουμε τη λύση στο πρόβλημα με περισσότερες λεπτομέρειες στα ακόλουθα άρθρα.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο