Instalar Nginx en CentOS 5.4 + WordPress

8 Apr

Como muchos saben hace poco he migrado mi servidor de Apache a Nginx, ya que el apache no aguantaba la cantidad de peticiones y por más que lo tuneara, quizás por la mezcla con el Plesk de la gente de S4U hacia que el servidor no aguantara llegando hasta 20 o incluso 30 la carga.

Con Nginx, lleva dos semanas y no pasa de 2 la carga, y un consumo de 300 MB, de memoria con un promedio de 200 conexiones simultaneas el 80% del día.

Para la instalación aproveché también para migrar de Debian  a CentOS. La instalación para este tutorial es con Yum la versión es la 0.6.39 de Nginx.



Agregar Repositorios EPEL

 rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/$(uname -m)
/epel-release-5-3.noarch.rpm

Instalar Nginx vía YUM

yum install nginx

Instalación de PHP con sus módulos según sea nuestra necesidad.

yum 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

Instalamos Spawn-CGI
Spawn-fcgi nos servirá para procesar el php directamente con el y no usa apache para esta tarea.

yum install spawn-fcgi

Instalamos el Script de inicio de PHP-CGI

# wget http://bash.cyberciti.biz/dl/419.sh.zip
# unzip 419.sh.zip
# mv 419.sh /etc/init.d/php_cgi
# chmod +x /etc/init.d/php_cgi

Iniciamos el PHP-CGI y verificamos que este escuchando en el puerto 9000

# /etc/init.d/php_cgi start
# netstat -tulpn | grep :9000

Deberíamos obtener una respuesta como la siguiente

tcp        0      0 127.0.0.1:9000  0.0.0.0:*     LISTEN      14294/php-cgi

Para comprobar que toda nuestra configuración está correcta creamos en la configuración de Nginx un location para lo referente a php de la siguiente forma.

# vi /etc/nginx/nginx.conf

Dentro de la configuración del servidor colocamos lo siguiente.

location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
    include        fastcgi_params;
   }

Reiniciamos nuestro Nginx

# service nginx restart

Creamos un archivo para probar las configuraciones de PHP editando el fichero

vi /usr/share/nginx/html/test.php

Agregamos lo siguiente

<? phpinfo(); ?>

Por ultimo podemos iniciar nuestro explorador y probar el archivo de apache para ver como están nuestras configuraciones.

¿Quién es Rhommel Lamas?

Escribo en Talfin desde el 2006, soy un fanático de la libertad de expresión en todos sus sabores, fanboy, amante de la cultura libre, cloud computing, dispositivos móviles y de la vida en general. Emprendedor de corazón, y developer de Closet, me encantan los videojuegos, y conocer el mundo. También escribo en: Techironic mi Web Personal: Rhommell, me puedes encontrar también en Twitter: @rhoml y Facebook .

No te pierdas