Fa un temps els vaig parlar sobre aquesta sèrie de tutorials, Sobre com instal·lar i configurar un servidor per hosting d'alta demanda. Aquest article tractarà sobre instal·lar i configurar Nginx + PHP amb SpawnFastCGI:
Spawn_FastCGI:
Això es pot dir que és el que uneix Nginx amb PHP, és a dir, tot i que tinguin el paquet PHP5 instal·lat si no tenen instal·lat i executat Spawn_FastCGI quan obrin algun lloc en PHP el navegador els descarregarà l'arxiu, no els mostrarà res a l' .php tingui programat ja que el servidor no sap com processar arxius .php, és per això que es fa imprescindible instal·lar i configurar Spawn_FastCGI.
Si féssim servir Apache seria una cosa tan simple com instal·lar el paquet libapache2-mod-php5 però com fem servir Nginx haurem d'instal·lar el paquet spawn-fcgi al seu lloc. A més, en el tutorial els explicaré com crear un script d'inici de la mateixa a /etc/init.d/ perquè puguin controlar-lo amb més comoditat.
1. Instal·lació:
Començarem pel primer, instal·lar Spawn-FastCGI i PHP des dels nostres respositorios.
Si en el teu servidor fas servir una distribució com Debian, Ubuntu o algun derivat a la terminal has de posar el següent i pressionar Enter :
aptitude install spawn-fcgi php5-cgi php5-curl
2. Configuració:
En el pas anterior (quan vam instal·lar Nginx) descarreguem un arxiu anomenat nginx-spawn-fastcgi.tar.gz que a l'descomprimir ens va crear la carpeta nginx-spawn-FastCGI al nostre home, copiarem d'ella l'arxiu spawn-FastCGI cap a /etc/init.d/:
cp ~/nginx-spawn-fastcgi/spawn-fastcgi /etc/init.d/
A més, necessitem l'executable del PHP-FastCGI a / usr / bin /
cp ~/nginx-spawn-fastcgi/php-fastcgi /usr/bin/
Perfecte, ja tenim a punt l'arxiu que ens permetrà controlar a spawn-FastCGI ia més l'executable del PHP-FastCGI, ara anem a iniciar spawn-FastCGI:
/etc/init.d/spawn-fastcgi start
Ens mostrarà alguna cosa com: spawn-fcgi: fill generat correctament: PID: 3739
Ara anem a reemplaçar nostre arxiu /etc/nginx/sites-available/mywebsite.net per ~ / nginx-spawn-FastCGI / mywebsite_plus_php.net
cp ~/nginx-spawn-fastcgi/mywebsite_plus_php.net /etc/nginx/sites-available/mywebsite.net
Per què? Simple, perquè el nostre anterior arxiu mywebsite.net no té suport per a PHP, o sigui, és Nginx només, mentre que l'arxiu mywebsite_plus_php.net sí que té suport per a PHP, és a dir, Nginx + PHP usant SpawnFastCGI.
Les diferències entre aquests arxius són diverses, per exemple:
- En la línia 3 a l'arxiu que suporta PHP se li afegeix index.php
- Una nova línia sota la No.3 que conté: fastcgi_index index.php;
- Diverses altres línies noves que li indiquen a Nginx com processar PHP.
- ... .. en fi, els deixo aquí una foto que els ajudarà a conèixer les diferències entre tots dos arxius:
L'arxiu mywebsite_plus_php.net és un vhost que ens serveix d'exemple, és a dir i dit d'una altra manera, hem de modificar-lo i establir les nostres configuracions.
Hem de canviar el següent:
- access_log (línia 3): Aquesta serà la ruta de l'arxiu de log d'accés a aquest lloc
- error_log (línia 4): Aquesta serà la ruta de l'arxiu de log d'errors a aquest lloc
- server_name (línia 5): La URL, domini que està hostejat en aquesta carpeta, per exemple, si es tractés del fòrum de DesdeLinux seria: server_name fòrum.desdelinux.net
- root (línia 6): La ruta a la carpeta on hi ha els arxius html, això deixem-ho en / var / www / ja que només serà una prova
A punt, ara reiniciarem Nginx:
/etc/init.d/nginx restart
Per comprovar que el nostre Nginx processa adequadament PHP copiem l'arxiu phptest.php cap a la carpeta hosteada, és a dir, la que indiquem en la línia No.6 de l'arxiu mywebsite_plus_php.net (per exemple, root / var / www /), suposant que tinguin el lloc hosteado directament a / var / www / seria:
cp ~/nginx-spawn-fastcgi/phptest.php /var/www/
Suposant que en la línia 5 del nostre mywebsite_plus_php.net (o sigui, la línia de SERVER_NAME) hàgim dit que el nostre lloc és www.misitio.net llavors hem d'accedir a www.misitio.net/phptest.php. O sigui, la idea és accedir a l'arxiu phptest.php des del nostre navegador i si ens apareix el següent llavors el nostre Nginx es va enllaçar perfectament amb PHP:
En cas que no els aparegui això, o sigui, que el navegador els intenti descarregar l'arxiu .php ... això vol dir que alguna cosa van fer malament, que no van reemplaçar bé el /etc/nginx/sites-available/mywebsite.net amb ~ / nginx-spawn-FastCGI / mywebsite_plus_php.net ... que se'ls va oblidar reiniciar Nginx amb /etc/init.d/nginx restart o bé que se'ls va oblidar iniciar Spawn-FastCGI amb /etc/init.d/spawn-fastcgi start
Fins aquí el tutorial per enllaçar Nginx amb PHP usant SpawnFastCGI, ja només ens falta MySQL i APC 🙂
Espero els estigui resultant interessant això.
Si és quarta part perquè la imatge diu 3? començar en 0 suposo? excel·lent post.
Salutacions
1ra: Presentació
2a: Nginx
3ra: Nginx + PHP (Spawn_FastCGI)
🙂
Gràcies per llegir-nos ^ _ ^
que pas amb la 4 part ???
i amb els subsegüents ?????
Hola:
Seria una millor elecció si en comptes de mysql, utilitzessis MariaDB, com has de saber aquest últim és un fork de el primer, i ja es parla que serà el Mysql d'el futur (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro) Doncs Mysql és lliure, fins a cert punt.
SkySQL, una empresa que presta serveis a partir de bases de dades lliures, va donar suport econòmic a el projecte MariaDB (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) I Google que vol deixar de dependre d'Mysql, com també va fer Wikipedia, i farà la transició des MySQL 5.1 a MariaDB 10.0 amb l'ajuda, precisament, de SkySQL, que són ja experts en aquesta matèria.
Salu2.
Hola,
Sí clar, conec MariaDB i de fet, hem parlat ja a l'respecte: https://blog.desdelinux.net/tag/mariadb/
No obstant això, ara mateix estic usant MySQL doncs aquests tutorials els faig des de l'experiència particular que vaig tenir en migrar DesdeLinux (amb tots els seus serveis) cap a altres servidors, en aquell moment vam canviar la tecnologia completament i les tasques o canvis que vaig haver de fer front no van ser pocs.
Llegeix aquest comentari meu d'aquest moment: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291
La idea final és si en efecte, migrar a MariaDB, però no he tingut temps per fer les proves pertinents 🙂
Gràcies per llegir-nos
Aquest tutorial em va servir per instal·lar zPanel X amb Nginx per no saturar la meva web a l'hora de migrar a l'VPS de GNUPanel.
El regal de Nadal? L'esperava amb ànsies felicitats a tots.
Gràcies soci 😀
Afegit a favorits!
Per cert, tinc aquest dubte i interrogant, en veritat Nginx té mes performance que Apache?
Salutacions!
Bé, Apache es pot optimitzar molt però ... fins ara, busca a Google i gairebé tots coincidim que Nginx consumeix molt menys RAM, té un rendiment gens menyspreable, tot i que no és de el tot tan simple a l'hora de configurar.
Bones KZKG ^ Gaara excel·lent informació per als que ens interessa aquest món, una pregunta, per quan el 4rt post 😀