Instalar Nginx en CentOS 5.4 + WordPress
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.