Διακομιστές web
nginx εναντίον Apache: Ποιος διακομιστής εκτελεί ποιο φόρτο εργασίας;
Το nginx και το Apache είναι οι δύο μηχανές πάνω στις οποίες μπορεί να χτιστεί μια στοίβα φιλοξενίας και ο αγώνας τελειώνει τη στιγμή που ονομάζεται ο φόρτος εργασίας. Το nginx είναι ένα μηχάνημα χαμηλού αποτυπώματος που βασίζεται σε συμβάντα για στατικό περιεχόμενο και αντίστροφο διακομιστή μεσολάβησης. Ο Apache είναι ένας διακομιστής εφαρμογών πλούσιος σε module του οποίου ο κατάλογος υπερισχύει και το οικοσύστημα φέρει κοινόχρηστη φιλοξενία. Αυτός είναι ο ειλικρινής πίνακας αποφάσεων πίσω από τα δύο αφιερωμένα άρθρα.
Βασικά σημεία
- Το μοντέλο συγχρονισμού αποφασίζει το πλεονέκτημα: ο ασύγχρονος βρόχος συμβάντων του nginx χειρίζεται χιλιάδες ταυτόχρονες συνδέσεις με μια χούφτα εργαζομένων διεργασιών, γι' αυτό κυριαρχεί στα στατικά-βαριά και αντίστροφα επίπεδα μεσολάβησης. Το συμβάν MPM του Apache κλείνει μεγάλο μέρος αυτού του κενού, αλλά εξακολουθεί να εκχωρεί περισσότερα ανά σύνδεση στο ίδιο υλικό.
- Η φιλοσοφία διαμόρφωσης συγκρούεται: Το Apache φέρει παρακάμψεις .htaccess και ανά κατάλογο (ευκολία ίδρυσης κοινόχρηστης φιλοξενίας), ενώ η διαμόρφωση nginx είναι επίπεδη ανά τοποθεσία περιλαμβάνει αρχεία με πειθαρχία επαναφόρτωσης. το καθημερινό εφέ έχει σχήμα ομάδας, ποιος επεξεργάζεται τις ρυθμίσεις παραμέτρων και πού.
- Η υβριδική στοίβα είναι νόμιμη, δεν είναι ένα cop-out: το nginx μπροστά ως τερματιστής TLS και στατικός διακομιστής, ο Apache πίσω για την εφαρμογή, είναι ένα σχήμα δοκιμασμένο στη μάχη που διατηρεί τα εργαλεία htaccess ενώ συγκρατεί την απόδοση του nginx edge. Το κόστος είναι ένα ακόμη επίπεδο για την αντιμετώπιση προβλημάτων και την παρακολούθηση.
- Όπου κάθε κινητήρας κερδίζει οριστικά: το nginx κερδίζει την βαριά σύνδεση μεσολάβησης, τη διατήρηση της αιχμής και την αργή αποστράγγιση πελάτη. Ο Apache κερδίζει την ισχύ διαμόρφωσης ανά κατάλογο, τη συμβατότητα λειτουργικών μονάδων παλαιού τύπου και το κοινόχρηστο κτήμα φιλοξενίας κατηγορίας mod_security/mod_php όπου κανένα άλλο οικοσύστημα δεν είναι τόσο ώριμο.
- Το LiteSpeed είναι η τρίτη επιλογή στην οποία προσεγγίζουν πολλοί οικοδεσπότες (το αφιερωμένο άρθρο μας την καλύπτει): συμβατότητα drop-in Apache με τη συγχρονισμό που βασίζεται σε συμβάντα, με άδεια ανά πυρήνα, επομένως η μέση διαδρομή «αντικαταστήστε τον Apache, διατηρήστε τη διαμόρφωση» υπάρχει για την οικονομία κοινόχρηστης φιλοξενίας.
- Διαδικασία απόφασης που ισχύει σε όλη την κατηγορία των διακομιστών ιστού μας: ονομάστε το φόρτο εργασίας (nginx στην άκρη, Apache πίσω από εφαρμογές htaccess-βαριές), διατηρήστε και τους δύο ρόλους σαφείς όταν είναι υβριδικοί, συγκρίνετε τη δική σας επισκεψιμότητα (όχι σημεία αναφοράς περιοδικών) και θυμηθείτε ότι αυτή είναι μια απόφαση που μπορείτε να επαναλάβετε, καθώς και οι δύο μηχανές συνυπάρχουν ατυχώς.
Σημείωση από το πεδίο
Ο πελάτης που μας δίδαξε τη συνήθεια της υβριδικής στοίβας: το nginx μπροστά για TLS και στατικά, ο Apache πίσω κουβαλούσε δώδεκα χρόνια γνώσης htaccess που κανείς δεν τόλμησε να ξαναγράψει. Η ειλικρινής απάντηση δεν ήταν «μεταφορά στο nginx», ήταν «ονομάστε τον φόρτο εργασίας ανά επίπεδο». Εξακολουθούν να έχουν αυτό το σχήμα σήμερα, ανενόχλητοι και διακοσμημένοι στο χρόνο.
Συχνές ερωτήσεις
Χρειάζεται να διαλέξουμε καθόλου;
Όχι: ένας αντίστροφος διακομιστής μεσολάβησης μπροστά από τον διακομιστή εφαρμογών είναι το κανονικό σύγχρονο σχήμα. Η μόνη πραγματική απόφαση είναι ποιος κινητήρας πηγαίνει. Το να τρέχεις και τα δύο είναι καθιερωμένη πρακτική, όχι παραδοχή ήττας.
Ποιο είναι πιο γρήγορο για το WordPress;
Με καλά επίπεδα προσωρινής αποθήκευσης, και τα τρία (nginx, Apache, LiteSpeed) εξυπηρετούν καλά το WordPress. η σειρά τερματισμού στις δοκιμές μας περιορίστηκε στον συντονισμό της κρυφής μνήμης και όχι στον κινητήρα. Η επιλογή κινητήρα έχει μεγαλύτερη σημασία στις βαθμίδες ακμής και διακομιστή μεσολάβησης παρά πίσω από μια κρυφή μνήμη.
Τι είναι πιο εύκολο να μάθεις;
Και τα δύο μπορούν να μαθευτούν σε μια εβδομάδα για βασική εικονική φιλοξενία και TLS. η τριβή διαφέρει: Η τεκμηρίωση του Apache είναι πιο οικεία στους βετεράνους της βιομηχανίας, η διαμόρφωση nginx είναι πιο σύντομη, αλλά εκθέτει τα κουμπιά διακομιστή μεσολάβησης νωρίτερα.
Υπάρχουν διαφορές ασφαλείας που έχουν σημασία;
Και τα δύο φέρουν CVE και τα δύο ασφαλή out-of-the-box σε συντηρημένες εκδόσεις. η επιφάνεια κινδύνου είναι η επιφάνεια διαμόρφωσης, η κουλτούρα .htaccess και οι κληρονομικές μονάδες για Apache, οι μεταγλωττισμένες ενότητες τρίτων συν λάθη παραγγελίας παραμέτρων για το nginx. Η ταχύτητα patch έχει μεγαλύτερη σημασία από τη μάρκα του κινητήρα.
Πώς βοηθάει η Kinetikatech στα διακομιστές web
Η πρότασή μας είναι απλή: Ρύθμιση, βελτιστοποίηση και ασφάλεια διακομιστών web σε περιβάλλοντα παραγωγής και ανάπτυξης. Αναλάβτε την υπηρεσία μας Βελτιστοποίηση ταχύτητας ιστότοπου and Διαχείριση διακομιστών και έχει αξιολογηθεί σωστά, εφαρμοστεί καθαρά και παρακολουθείται όλο το 24ωρο.