Nginx y Plesk

Desde hace bastante tiempo sé de lo complicado que puede ser un servidor Plesk, sobre todo si tienes sitios de alto volumen.

Algunos de los artículos de este sitio tratan sobre la optimización de servidores web.

Ya conocia el proyecto Nginx y lo habia utilizado parcialmente tal como esta señalado en post previo usando redirecciones con .httaccess

Encontré hace un par de dias la solución perfecta para hacer convivir el Apache en Plesk y el Nginx sacando provecho de lo mejor de ambos.

Sigue leyendo y descubrirás como integrar perfectamente el Nginx con tu Plesk

Los preparativos

La primer parte es instalar el Nginx. Puedes hacerlo de la manera tradicional bajando la fuente e instalandolo a mano.

para este ejemplo usaremos el rpositorio de rpms de ART

En mi caso uso RHEL pero ART tambien hace rpms para Fedora y Centos.

La manera más fácil de instalar el repositorio de ART en tu servidor plesk con Fedora/Centos/RHEL es usando el comando:

wget -q -O - http://www.atomicorp.com/installers/atomic.sh | sh

una vez instalado el repositorio instalar Nginx es tan sencillo como

yum install nginx

La ventaja de hacerlo de esta manera es que el rpm te ayuda con la instalación correcta y activacion como servicio.

una vez instalado  descarguen este archivo ZIP y descomprímanlo en la carpeta /etc/nginx/ sobreescribiendo los archivos que asi lo soliciten.

una ves descomprimido el contenido de ese zip ejecuten el siguiente comando:

sh /etc/nginx/<code>generate_nginx_conf.sh

lo cual leerá la configuración del apache modificada por el Plesk y generará los scripts correspondientes de nginx para cada dominios existente en el servidor. ( En el caso de un plesk normal en un servidor dedicado con varios ips no fue necesaria modificación alguna de los templates que vienen en el zip ).

 

Los cambios

Ahora de momento nos enfocaremos en los cambios necesarios del Apache. La idea es que el Nginx se quede escuchando en el puerto 80 y el apache en algun otro puerto…. digamos el 8080…

El Nginx servira contenido estático y todo el contenido dinámico lo pasará al apache liberando a este ultimo del servicio de imágenes y anexos para lo cual es mas eficiente el Nginx.

Como cambiar el Apache de plesk de puerto y no morir en el intento:
/usr/local/psa/admin/sbin/websrvmng --set-http-port --port=8080
/usr/local/psa/admin/sbin/websrvmng --reconfigure-all
/usr/local/psa/admin/sbin/webmailmng --disable --name=horde
/usr/local/psa/admin/sbin/webmailmng --enable --name=horde
/usr/local/psa/admin/sbin/webmailmng --disable --name=atmail
/usr/local/psa/admin/sbin/webmailmng --enable --name=atmail
/usr/local/psa/admin/sbin/webmailmng --disable --name=atmailcom
/usr/local/psa/admin/sbin/webmailmng --enable --name=atmailcom
service httpd restart
service nginx restart

Finalmente les recomiendo que configuren el Nginx para que arranque al inicio del equipo con el comando:

chkconfig –level 345 nginx on

Y listo!!!! Nginx está funcionando ahora en el puerto 80 y el apache esta feliz ahora en el puerto 8080 y todo funciona de maravilla.

La implementacion del Nginx puede ayudarte a usar al máximo los recursos de tu servidor. Nginx usa significativamente mucha menos memoria RAM que los procesos comunes de apache y por lo tanto te da la oportunidad de entregar más paginas/contenido utilizando el mismo hardware.

Este proceso de sustitución es altamente recomendado si tu sitio tiene constantes y continuas cargas altas debidas a trafico Web.

Nota: El puerto 8080 es usado regularmente por una parte el Tomcat, si no usas Tomcat en ese servidor, simplemente desactívalo para que no tengas problema alguno con el Apache.

chkconfig --level 345 tomcat5 off

service tomcat5 stop

Revisa también que el servicio de Tomcat no este monitoreado por el módulo de Watchdog, de ser así desactívalo en el módulo para que el Watchdog no lo arranque de nuevo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *