Η Άνοδος των Καθαρών PHP Web Servers: Αποχωρώντας από το NGinX για Χάρη στην Απλότητα
Η Άνοδος των Καθαρά PHP Web Servers: Αποχαιρετώντας το NGinX για Χάρη στην Απλότητα
Όταν οι περισσότεροι προγραμματιστές σκέφτονται την ανάπτυ εφαρμογών PHP, φαντάζονται ένα γνωστό stack: NGinX ή Apache ως web server, PHP-FPM για την εκτέλεση PHP και ίσως λίγο Redis για caching. Αυτό δούλεψε για χρόνια. Αλλά τι θα γινόταν αν μπορούσατε να εξαλείψετε ολόκληρα στρώματα της υποδομής σας;
Αυτό είναι το ερώτημα πίσω από projects όπως το Qbix/webserver, μια υλοποίηση web server γραμμένη εξ ολοκλήρου σε PHP, που τραβάει την προσοχή της κοινότητας των προγραμμαιστών.
Τι ακριβώς είναι ένας Pure-PHP Web Server;
Η παραδοσιακή φιλοξενία PHP βασίζεται σε εξωτερικό λογισμικό για τη διαχείριση των HTTP συνδέσεων. Το NGinX δέχεται τα εισερχόμενα requests, τα περνά στο PHP-FPM μέσω FastCGI και στη συνέχεια η PHP εκτελεί τον κώδικά σας. Πρόκειται για μια πολυ-διεργασιακή, πολυ-τεχνολογική διάταξη που, αν και δοκιμασμένη στη πράξη, προσθέτει πολυπλοκότητα.
Ένας pure-PHP web server κάνει ακριβώς αυτό που υποδηλώνει το όνομά του—είναι γραμμένος εξ ολοκλήρου σε PHP. Ο server εκτελείται ως διεργασία PHP, διαχειρίζεται HTTP requests, διαχειρίζεται WebSocket συνδέσεις και μπορεί ακόμη και να εξυπηρετεί στατικά αρχεία. Χωρίς NGinX. Χωρίς Apache. Χωρίς ξεχωριστό daemon PHP-FPM.
Γιατί θα έπρεπε να σας ενδιαφέρει;
Ορίστε κάποιοι πειστικοί λόγοι για τους οποίους αυτή η προσέγγιση κερδίζει έδαφος:
Απλοποιημένη Ανάπτυξη Μια τεχνολογία λιγότερο για να ρυθμίσετε, να ασφαλίσετε και να συντηρήσετε. Για startups που κινούνται γρήγορα, η μείωση της πολυπλοκότητας της υποδομής μπορεί να σώσει πολύτιμες ώρες μηχανικών.
Ενιαία Βάση Κώδικα Ο web server και η εφαρμογή σας είναι γραμμένα στην ίδια γλώσσα. Αυτό σημαίνει ότι μπορείτε να επεκτείνετε, να αποσυνεστέρετε και να προσαρμόσετε τη συμπεριφορά του server χρησιμοποιώντας PHP—τις ίδιες δεξιότητες που έχει ήδη η ομάδα σας.
Ενσωματωμένη Υποστήριξη WebSocket Οι σύγχρονες εφαρμογές χρειάζονται real-time λειτουργίες. Οι pure-PHP servers συχνά περιλαμβάνουν εγγενή διαχείριση WebSocket, εξαλείφοντας την ανάγκη για ξεχωριστές υπηρεσίες όπως servers Socket.io ή τρίτες πλατφόρμες real-time.
Χαμηλότερη Κατανάλωση Μνήμης Η απουσία ξεχωριστών διεργασιών για NGinX και PHP-FPM σημαίνει δυνητικά χαμηλότερη χρήση μνήμης, κάτι που μπορεί να μεταφραστεί σε οικονομίες σε μικρότερες αναπτύξεις.
Τα Ανταλλαγματικά Στοιχεία που Πρέπει να Λάβετε Υπόψη
Ας είμαστε ρεαλιστές—οι pure-PHP web servers δεν είναι ασηένια σφαίρα. Το NGinX είναι γραμμένο σε C και βελτιστοποιημένο για τη διαχείριση χιλιάδων ταυτόχρονων συνδέσεων με ελάχιστη υπέρβαση. Η PHP, αν και ισχυρή, έχει διαφορετικά χαρακτηριστικά απόδοσης.
Για περιβάλλοντα παραγωγής υψηλής κίνησης που διαχειρίζονται εκατομμύρια requests την ημέρα, τα παραδοσιακά stacks έχουν ακόμα το πλεονέκτημα. Αλλά για:
- Περιβάλλοντα ανάπτυξης και δοκιμών
- Εφαρμογές μικρής έως μεσαίας κίνησης
- Projects όπου η απλότητα υπερέχει έναντι οριακών κερδών