Qualche tempo fa Ti ho parlato di questa serie di tutorial, su come installare e configurare un server per l'hosting ad alta richiesta. Questo articolo riguarderà l'installazione e la configurazione Nginx + PHP con SpawnFastCGI:
Spawn_FastCGI:
Questo si può dire che è ciò che unisce Nginx con PHP, cioè, anche se hanno il pacchetto PHP5 installato se non hanno Spawn_FastCGI installato ed eseguito quando aprono un sito in PHP il browser scaricherà il file, non mostrerà loro nulla che il .php è stato programmato perché il server non sa come processare i file .php, ecco perché è fondamentale installare e configurare Spawn_FastCGI.
Se usassimo Apache sarebbe qualcosa di semplice come installare il pacchetto libapache2-mod-php5 ma dato che usiamo Nginx dovremo invece installare il pacchetto spawn-fcgi. Inoltre, nel tutorial spiegherò come creare uno script iniziale per esso in /etc/init.d/ in modo da poterlo controllare più comodamente.
1. Installazione:
Inizieremo con la prima cosa, installeremo Spawn-FastCGI e PHP dai nostri repository.
Se sul tuo server usi una distribuzione come Debian, Ubuntu o qualche derivato nel terminale devi mettere quanto segue e premere entrare :
aptitude install spawn-fcgi php5-cgi php5-curl
2. Configurazione:
Nel passaggio precedente (quando abbiamo installato Nginx) abbiamo scaricato un file chiamato nginx-spawn-fastcgi.tar.gz che quando decompresso ha creato la cartella nginx-spawn-fastcgi nella nostra home, copieremo il file da esso spawn-fastcgi in /etc/init.d/:
cp ~/nginx-spawn-fastcgi/spawn-fastcgi /etc/init.d/
Inoltre, abbiamo bisogno dell'eseguibile php-fastcgi in / usr / bin /
cp ~/nginx-spawn-fastcgi/php-fastcgi /usr/bin/
Perfetto, abbiamo pronto il file che ci permetterà di controllare spawn-fastcgi e anche l'eseguibile php-fastcgi, ora avvieremo spawn-fastcgi:
/etc/init.d/spawn-fastcgi start
Ci mostrerà qualcosa come: spawn-fcgi: figlio generato correttamente: PID: 3739
Ora sostituiremo il nostro file /etc/nginx/sites-available/mywebsite.net con ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net
cp ~/nginx-spawn-fastcgi/mywebsite_plus_php.net /etc/nginx/sites-available/mywebsite.net
Perché? Semplice, perché il nostro precedente file mywebsite.net non supporta PHP, cioè è solo Nginx, mentre il file mywebsite_plus_php.net ha il supporto per PHP, cioè Nginx + PHP usando SpawnFastCGI.
Le differenze tra questi file sono diverse, ad esempio:
- Nella riga 3 viene aggiunto il file che supporta PHP index.php
- Una nuova riga sotto il numero 3 che contiene: fastcgi_index index.php;
- Diverse altre nuove righe che dicono a Nginx come elaborare PHP.
- … .. comunque, ecco una foto che ti aiuterà a conoscere le differenze tra i due file:
Il file mywebsite_plus_php.net è un vhost che funge da esempio, cioè, e in altre parole, dobbiamo modificarlo e stabilire le nostre configurazioni.
Dobbiamo modificare quanto segue:
- access_log (riga 3): questo sarà il percorso del file di registro degli accessi a questo sito
- error_log (riga 4): questo sarà il percorso del file di registro degli errori a questo sito
- server_name (riga 5): l'URL, il dominio che è ospitato in quella cartella, ad esempio, se fosse il forum DesdeLinux sarebbe: forum nome_server.desdelinux.net
- root (riga 6): il percorso della cartella in cui si trovano i file html, lasciamo questo in / var / www / poiché sarà solo un test
Pronto, ora riavvieremo Nginx:
/etc/init.d/nginx restart
Per verificare che il nostro Nginx elabori correttamente PHP, copiamo il file phptest.php nella cartella ospitata, ovvero quella indicata nella riga N.6 del file mywebsite_plus_php.net (ad esempio root / var / www /), supponendo che il sito sia ospitato direttamente in / var / www / sarebbe:
cp ~/nginx-spawn-fastcgi/phptest.php /var/www/
Supponendo che nella riga 5 del nostro mywebsite_plus_php.net (cioè, la riga server_name) abbiamo detto che il nostro sito è www.mysite.net, allora dobbiamo accedere a www.mysite.net/phptest.php. In altre parole, l'idea è di accedere al file phptest.php dal nostro browser e se appare quanto segue allora il nostro Nginx si collega perfettamente con PHP:
Nel caso in cui non appaia, cioè che il browser tenta di scaricare il file .php ... questo significa che hanno fatto qualcosa di sbagliato, che non hanno sostituito /etc/nginx/sites-available/mywebsite.net con ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net ... che si sono dimenticati di riavviare Nginx con /etc/init.d/nginx restart o che si sono dimenticati di avviare Spawn-FastCGI con /etc/init.d/spawn-fastcgi start
Finora il tutorial per collegare Nginx con PHP usando SpawnFastCGI, abbiamo solo bisogno di MySQL e APC 🙂
Spero che tu lo trovi interessante.
Se è un quarto, perché l'immagine dice 3? iniziato a 0 immagino? ottimo post.
saluti
1 °: presentazione
2 °: Nginx
3 °: Nginx + PHP (Spawn_FastCGI)
🙂
Grazie per aver letto ^ _ ^
cosa è successo alla parte 4 ???
e con il successivo ?????
Ciao:
Sarebbe una scelta migliore se invece di mysql si usasse MariaDB, come dovresti sapere quest'ultimo è un fork del primo, e già si parla che sarà il Mysql del futuro (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro) poiché Mysql è gratuito, fino a un certo punto.
SkySQL, una società che fornisce servizi da database gratuiti, ha sostenuto finanziariamente il progetto MariaDB (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) e Google che vuole smettere di dipendere da Mysql, come ha fatto anche Wikipedia, e farà il passaggio da MySQL 5.1 a MariaDB 10.0 con l'aiuto, appunto, di SkySQL, già esperti in questo campo.
ciao2.
Ciao,
Si certo, conosco MariaDB e infatti ne abbiamo già parlato: https://blog.desdelinux.net/tag/mariadb/
Tuttavia, in questo momento sto utilizzando MySQL perché sto seguendo questi tutorial in base alla particolare esperienza che ho avuto durante la migrazione. DesdeLinux (con tutti i suoi servizi) ad altri server, in quel periodo cambiammo completamente la tecnologia e i compiti o cambiamenti che dovevo affrontare non furono pochi.
Leggi questo mio commento da quel momento: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291
L'idea finale è sì, in effetti, migrare a MariaDB, ma non ho avuto il tempo di fare i test pertinenti 🙂
Grazie per aver letto
Questo tutorial mi aiuterà a installare zPanel X con NGINX in modo da non saturare il mio sito durante la migrazione a GNUPanel VPS.
Il regalo di Natale? Non vedevo l'ora di congratularmi con tutti.
Grazie partner 😀
Aggiunto ai preferiti!
A proposito, ho questo dubbio e domanda, Nginx ha davvero più prestazioni di Apache?
Saluti!
Ebbene, Apache può essere ottimizzato molto ma… fino ad ora Google it e quasi tutti siamo d'accordo sul fatto che Nginx consuma molta meno RAM, ha prestazioni non trascurabili, anche se non è del tutto così semplice durante la configurazione.
Buon KZKG ^ Gaara ottima informazione per quelli di noi che sono interessati a questo mondo, una domanda, per quando il 4 ° post 😀