Πριν από λίγο καιρό Σας είπα για αυτήν τη σειρά μαθημάτων, σχετικά με τον τρόπο εγκατάστασης και διαμόρφωσης ενός διακομιστή για φιλοξενία υψηλής ζήτησης. Αυτό το άρθρο θα αφορά την εγκατάσταση και τη διαμόρφωση Nginx + PHP με SpawnFastCGI:
Spawn_FastCGI:
Αυτό μπορεί να ειπωθεί ότι συνδέει το Nginx με την PHP, δηλαδή, ακόμη και αν έχουν εγκαταστήσει το πακέτο PHP5, εάν δεν έχουν εγκαταστήσει και εκτελέσει το Spawn_FastCGI, όταν ανοίγουν έναν ιστότοπο στην PHP, το πρόγραμμα περιήγησης θα κατεβάσει το αρχείο, θα να μην τους δείξει τίποτα ότι το .php έχει προγραμματιστεί επειδή ο διακομιστής δεν ξέρει πώς να επεξεργάζεται αρχεία .php, γι 'αυτό είναι απαραίτητο να εγκαταστήσετε και να ρυθμίσετε το Spawn_FastCGI.
Εάν χρησιμοποιούσαμε το Apache θα ήταν κάτι τόσο απλό όσο η εγκατάσταση του πακέτου libapache2-mod-php5, αλλά επειδή χρησιμοποιούμε το Nginx θα πρέπει να εγκαταστήσουμε το πακέτο spawn-fcgi. Επίσης, στο σεμινάριο θα εξηγήσω πώς να δημιουργήσετε ένα αρχικό σενάριο για αυτό στο /etc/init.d/ έτσι ώστε να μπορείτε να το ελέγχετε πιο άνετα.
1. Εγκατάσταση:
Θα ξεκινήσουμε με το πρώτο πράγμα, θα εγκαταστήσουμε το Spawn-FastCGI και το PHP από τα αποθετήρια μας.
Εάν στον διακομιστή σας χρησιμοποιείτε μια διανομή όπως το Debian, το Ubuntu ή κάποιο παράγωγο στο τερματικό, πρέπει να βάλετε τα ακόλουθα και να πατήσετε εισάγετε :
aptitude install spawn-fcgi php5-cgi php5-curl
2. Διαμόρφωση:
Στο προηγούμενο βήμα (όταν εγκαταστήσαμε το Nginx) κατεβάσαμε ένα αρχείο που ονομάζεται nginx-spawn-fastcgi.tar.gz που όταν αποσυμπιέστηκε δημιούργησε το φάκελο nginx-spawn-fastcgi στο σπίτι μας, θα αντιγράψουμε το αρχείο από αυτό spawn-fastcgi στο /etc/init.d/:
cp ~/nginx-spawn-fastcgi/spawn-fastcgi /etc/init.d/
Επίσης, χρειαζόμαστε το php-fastcgi εκτελέσιμο στο / usr / bin /
cp ~/nginx-spawn-fastcgi/php-fastcgi /usr/bin/
Τέλεια, έχουμε ετοιμάσει το αρχείο που θα μας επιτρέψει να ελέγξουμε το spawn-fastcgi και επίσης το php-fastcgi εκτελέσιμο, τώρα πρόκειται να ξεκινήσουμε το spawn-fastcgi:
/etc/init.d/spawn-fastcgi start
Θα μας δείξει κάτι σαν: spawn-fcgi: το παιδί γεννήθηκε με επιτυχία: PID: 3739
Τώρα πρόκειται να αντικαταστήσουμε το αρχείο /etc/nginx/sites-available/mywebsite.net με ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net
cp ~/nginx-spawn-fastcgi/mywebsite_plus_php.net /etc/nginx/sites-available/mywebsite.net
Γιατί; Απλό, επειδή το προηγούμενο αρχείο mywebsite.net δεν έχει υποστήριξη για PHP, δηλαδή, είναι μόνο Nginx, ενώ το αρχείο mywebsite_plus_php.net έχει υποστήριξη για PHP, δηλαδή, Nginx + PHP χρησιμοποιώντας SpawnFastCGI.
Οι διαφορές μεταξύ αυτών των αρχείων είναι πολλές, για παράδειγμα:
- Στη γραμμή 3 το αρχείο που υποστηρίζει PHP προστίθεται index.php
- Μια νέα γραμμή στο No.3 που περιέχει: fastcgi_index index.php;
- Αρκετές άλλες νέες γραμμές που λένε στο Nginx πώς να επεξεργάζεται την PHP.
- … .. Εν ολίγοις, εδώ είναι μια φωτογραφία που θα σας βοηθήσει να γνωρίζετε τις διαφορές μεταξύ των δύο αρχείων:
Το αρχείο mywebsite_plus_php.net είναι ένα vhost που χρησιμεύει ως παράδειγμα, δηλαδή, και με άλλα λόγια, πρέπει να το τροποποιήσουμε και να δημιουργήσουμε τις διαμορφώσεις μας.
Πρέπει να αλλάξουμε τα εξής:
- access_log (γραμμή 3): Αυτή θα είναι η διαδρομή του αρχείου καταγραφής πρόσβασης προς αυτόν τον ιστότοπο
- error_log (γραμμή 4): Αυτή θα είναι η διαδρομή του αρχείου καταγραφής σφαλμάτων προς αυτόν τον ιστότοπο
- όνομα_διακομιστή (γραμμή 5): Η διεύθυνση URL, ο τομέας που φιλοξενείται σε αυτόν τον φάκελο, για παράδειγμα, αν ήταν το φόρουμ DesdeLinux θα ήταν: forum server_name.desdelinux. Καθαρά
- root (γραμμή 6): Η διαδρομή προς το φάκελο όπου βρίσκονται τα αρχεία html, ας το αφήσουμε στο / var / www / καθώς θα είναι μόνο μια δοκιμή
Έτοιμοι, τώρα θα επανεκκινήσουμε το Nginx:
/etc/init.d/nginx restart
Για να ελέγξουμε ότι το Nginx επεξεργάζεται σωστά την PHP, ας αντιγράψουμε το αρχείο phptest.php στον φιλοξενούμενο φάκελο, δηλαδή αυτό που αναφέρεται στη γραμμή No.6 του αρχείου mywebsite_plus_php.net (για παράδειγμα, root / var / www /), υποθέτοντας ότι ο ιστότοπος φιλοξενείται απευθείας στο / var / www / θα είναι:
cp ~/nginx-spawn-fastcgi/phptest.php /var/www/
Ας υποθέσουμε ότι στη γραμμή 5 του mywebsite_plus_php.net (δηλαδή, τη γραμμή διακομιστή_name) έχουμε πει ότι ο ιστότοπός μας είναι www.mysite.net, τότε πρέπει να έχουμε πρόσβαση στο www.mysite.net/phptest.php. Με άλλα λόγια, η ιδέα είναι να αποκτήσετε πρόσβαση στο αρχείο phptest.php από το πρόγραμμα περιήγησής μας και αν εμφανιστεί το ακόλουθο, τότε το Nginx μας συνδέεται τέλεια με την PHP:
Σε περίπτωση που αυτό δεν εμφανίζεται, δηλαδή ότι το πρόγραμμα περιήγησης προσπαθεί να κατεβάσει το αρχείο .php ... αυτό σημαίνει ότι έκαναν κάτι λάθος, ότι δεν αντικατέστησαν το /etc/nginx/sites-available/mywebsite.net με ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net… ότι ξέχασαν να κάνουν επανεκκίνηση του Nginx με την επανεκκίνηση του /etc/init.d/nginx ή ότι ξεχάστηκαν να ξεκινήσουν το Spawn-FastCGI με το /etc/init.d/spawn-fastcgi start
Μέχρι στιγμής το σεμινάριο για τη σύνδεση του Nginx με PHP χρησιμοποιώντας το SpawnFastCGI, χρειαζόμαστε μόνο MySQL και APC 🙂
Ελπίζω να το βρείτε αυτό ενδιαφέρον.
Εάν είναι ένα τέταρτο, γιατί λέει η εικόνα 3; ξεκίνησα στις 0 υποθέτω; εξαιρετική θέση.
αφορά
1η: Παρουσίαση
2ο: Nginx
3ο: Nginx + PHP (Spawn_FastCGI)
????
Ευχαριστούμε που διαβάσατε ^ _ ^
τι συνέβη στο μέρος 4 ;;;
και με το επόμενο ?????
Γεια σας:
Θα ήταν καλύτερη επιλογή αν αντί του mysql, χρησιμοποιούσατε το MariaDB, καθώς θα πρέπει να γνωρίζετε ότι το τελευταίο είναι ένα πιρούνι του πρώτου και υπάρχει ήδη συζήτηση ότι θα είναι το Mysql του μέλλοντος (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro) καθώς το Mysql είναι δωρεάν, έως ένα σημείο.
Το SkySQL, μια εταιρεία που παρέχει υπηρεσίες βασισμένες σε δωρεάν βάσεις δεδομένων, υποστήριξε οικονομικά το έργο MariaDB (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) και η Google που θέλει να σταματήσει ανάλογα με το Mysql, όπως έκανε η Wikipedia, και θα κάνει τη μετάβαση από το MySQL 5.1 στο MariaDB 10.0 με τη βοήθεια, ακριβώς, του SkySQL, οι οποίοι είναι ήδη ειδικοί σε αυτόν τον τομέα.
Salu2.
Γεια σας,
Ναι, φυσικά, γνωρίζω τη MariaDB και στην πραγματικότητα, έχουμε ήδη μιλήσει για αυτό: https://blog.desdelinux.net/tag/mariadb/
Ωστόσο, αυτή τη στιγμή χρησιμοποιώ τη MySQL επειδή κάνω αυτά τα σεμινάρια από τη συγκεκριμένη εμπειρία που είχα κατά τη μετανάστευση. DesdeLinux (με όλες τις υπηρεσίες του) σε άλλους server, τότε αλλάξαμε εντελώς την τεχνολογία και οι εργασίες ή οι αλλαγές που είχα να αντιμετωπίσω δεν ήταν λίγες.
Διαβάστε αυτό το σχόλιο μου από εκείνη τη στιγμή: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291
Η τελική ιδέα είναι ναι, πράγματι, μετανάστευση στο MariaDB, αλλά δεν είχα χρόνο να κάνω τις σχετικές δοκιμές 🙂
Ευχαριστώ για την ανάγνωση
Αυτό το σεμινάριο θα με βοηθήσει να εγκαταστήσω το zPanel X με το NGINX, ώστε να μην κορεστεί ο ιστότοπός μου κατά τη μετάβαση στο GNUPanel VPS.
Το χριστουγεννιάτικο δώρο; Ανυπομονώ να συγχαρώ όλους.
Ευχαριστώ συνεργάτη 😀
Προστέθηκε στα αγαπημένα!
Παρεμπιπτόντως, έχω αυτήν την αμφιβολία και την ερώτηση, έχει πραγματικά το Nginx μεγαλύτερη απόδοση από τον Apache;
Χαιρετισμούς!
Λοιπόν, το Apache μπορεί να βελτιστοποιηθεί πολύ, αλλά… μέχρι τώρα, το Google και σχεδόν όλοι μας συμφωνούμε ότι το Nginx καταναλώνει πολύ λιγότερη μνήμη RAM, έχει μια ασυναγώνιστη απόδοση, αν και δεν είναι εντελώς τόσο απλό κατά τη διαμόρφωση.
Καλή KZKG ^ Gaara εξαιρετικές πληροφορίες για όσους από εμάς ενδιαφέρονται για αυτόν τον κόσμο, μια ερώτηση, για το πότε η 4η θέση 😀