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/