CentOS – Nginx + PHP FastCGI

Hoy vamos a ver como poner en marcha un CentOS 5.5 con Nginx y PHP con FastCGI. Necesitaremos repositorios no oficiales, de entrada, lo adelanto 馃檨

Suponemos que estamos en un entorno de producci贸n con Apache 2/X mod_php. Vamos a ver como hacer la migraci贸n a Nginx y PHP FastCGI. Obviamente, convendr铆a que el servidor no est茅 dando servicio en el momento de la operaci贸n. Para ver los motivos del cambio, leer este post.

1. Para Apache, quitar de arranque

# service httpd stop
# chkconfig --del httpd

2. Instalar Nginx
* necesitamos Yum
* conveniente instalar yum priorities
# yum install yum-priorities
* editamos prioridades de plugin
* instalamos repositorio EPEL
# yum install nginx
# chkconfig --level 235 nginx on

En este punto, debemos de tener instalado correctamente el servidor Nginx
# -bash-3.2# nginx -v
nginx version: nginx/0.8.53

3. Configuraci贸n FastCGI

Paquetes b谩sicos que instalar

# yum -y install php-pear-Net-Socket php-pear php-common
php-gd php-devel php php-mbstring php-pear-Mail php-cli php-imap
php-snmp php-pdo php-xml php-pear-Auth-SASL php-ldap
php-pear-Net-SMTP php-mysql
# yum install spawn-fcgi
# wget -O /etc/init.d/php_cgi https://www.rubenortiz.es/scripts/php_cgi
# chmod +x /etc/init.d/php_cgi
# /etc/init.d/php_cgi start

-bash-3.2# /etc/init.d/php_cgi start
Starting php-cgi: spawn-fcgi: child spawned successfully: PID: 26284

Comprobamos que el daemon escucha en el puerto 9000
# netstat -tulpn | grep :9000

4. Arrancamos Nginx y configuramos

-bash-3.2# service nginx start
Starting nginx: [ OK ] -bash-3.2#

Creamos un fichero php para comprobar el funcionamiento

# vim /usr/share/nginx/html/phpinfo.php

En este punto, todav铆a no debe de funcionar, Nginx no sabr谩 servir el php y nos lo devolver谩 como un archivo cualquiera. Para solventarlo, a帽adimos esto a la configuraci贸n de Nginx

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

Reiniciamos Nginx y ya deber铆amos poder ver el archivo de informaci贸n de PHP.

Links
https://traviszajkowski.me/2010/12/22/setup-nginx-with-spawn-fcgi-on-centos-5-5/

Leave a Reply

Your email address will not be published. Required fields are marked *