Programación y sistemas

Instalar Eaccelerator y Zend Optimizer en Plesk y CentOS

Optimización de WordPress

Fin de semana entretenido además de atareado. Y por fin puedo decir que he conseguido instalar Eaccelerator y Zend Optimizer en el VPS.

Después de asegurarme de que todo ha funcionado correctamente, os escribo este post con la pequeña odisea.

Instalar yum

En el último post que escribí os conté que no fui capaz de instalar nada debido a que el comando yum no estaba disponible en el VPS. Bien pues vamos al tema:

Para los que no lo sepais, el comando yum es el «clon» del comando apt-get de las distribuciones basadas en Debian; yum es el comando para las distribuciones RedHat, y CentOS es una de estas. Ambos comandos sirven para instalar, desinstalar, actualizar (tanto programas como la misma distribución), etc.

Para poder usar el comando yum es necesario instalar un paquete para Plesk. Los comandos necesarios son los siguientes:

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

Una vez instalado ya podremos usar el comando yum perfectamente. Así que… ¡Hala! A actualizar el servidor:

yum upgrade

PHP

Para poder instalar Eaccelerator es necesario disponer de PHP 5.x, comprueba tu versión a través del siguiente comando:

php -v

Podeis probar a actualizar la versión de vuestro PHP si veis que no es la actual:

yum update php

Instalar Eaccelerator

Para poder instalar Eaccelerator necesitas varios paquetes que deben estar instalados en tu servidor:

PHP 5, autoconf, automake, libtool y m4

Una vez comprobado que tienes estos paquetes instalados procede a descargar Eaccelerator:

wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.zip

Descomprimimos:

unzip eaccelerator-0.9.6.1.zip

Accedemos a la carpeta que se ha creado:

cd eaccelerator-0.9.6.1

Y ejecutamos los siguientes comandos:

phpize
./configure
make
make install

Con estos comandos Eaccelerator se instalará y solo nos quedaría reiniciar Apache:

/etc/init.d/httpd restart

O bien:

service httpd restart

Una vez reiniciado Apache debería mostrarnos, en la versión de php, que Eaccelerator está instalado:

php -v

nos debería mostrar algo como esto:

PHP 5.2.13 (cli) (built: Jun 2 2010 16:29:01)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies

Zend Optimizer

Con Eaccelerator se consigue que el consumo de memoria se reduzca considerablemente, pero aun se puede reducir más. Para ello instalaremos Zend Optimizer en nuestro servidor.

Esta aplicación es mucho más fácil de instalar que la anterior:

cd /usr/local/src
wget http://www.eth0.us/files/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
tar -zxf ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
cd ZendOptimizer-3.3.9-linux-glibc23-x86_64
./install

Ya está. Reinicia Apache como he indicado anteriormente y comprueba, en la versión de php, que Zend Optimizer está instalado correctamente.

WordPress

Para los que hayais llegado hasta este post buscando como optimizar WordPress, os diré que con estas dos aplicaciones se puede reducir el consumo de memoría a una cuarta parte de lo habitual. Así se ha quedado mi WordPress después de instalar Eaccelerator y Zend Optimizer:

Consumo de memoría después de instalar Eaccelerator y Zend Optimizer

WordPress pasó de consumir 41,79 MB a 11,7 MB (72% de reducción).

25 Comentarios

  • rafael 25/08/2010

    Te faltaria optimizar un poco la base de datos con query cache aumentando el cacheado y ya deberia notarse mucho mas la optimizacion .

  • Albeiro Ochoa 02/09/2010

    Hola
    Buena la info
    Recien comienzo he subido el sitio al hosting, y veo que esta consumiendo demasiada memoria. He estado leyendo sobre eaccelerator, entiendo sus ventajas, pero aun no se es instalarlo¿Donde ejecutan los comandos? y en que carpeta del servidor se aloja eaccelator? Por favor me recomendaría un tutorial desde cero para poder lograrlo y asi optimizar mas mi sitio
    Gracias

  • Mikel 04/09/2010

    #1 y #2 primeramente gracias por comentar en el post.

    Rafael, tengo instalado DB cache reloaded y está funcionando bastante bien, no se si te referías a este plugin.

    Albeiro, para poder instalar eaccelerator necesitas tener acceso por SSH a tu servidor, ahí es donde se ejecutan los comandos.

    Respecto a los tutoriales de instalación tienes varios links en el post anterior: http://www.interadictos.es/2010/08/06/mi-ultima-pesadilla-optimizar-el-vps-para-wordpress/

    No recuerdo en qué carpeta se instalaba Eaccelerator, por que, si no recuerdo mal se instaló y configuró con PHP el solito y de momento no he tenido que tocarle nada. Siempre puedes utilizar el comando «find» en la consola de tu GNU/Linux para encontrar cualquier archivo o carpeta que necesites, te dejo un post que lo explica bastante bien su uso básico: http://andrescanavesi.com.uy/blog/buscar-carpetas-y-archivos-utilizando-la-consola-en-gnu-linux/

    PD: Siento no haber podido responderos antes, he estado bastante liado.

    Un saludo.

  • francisco 07/09/2010

    hola ya hcie todos los pasos aqui indicados tengo la misma version de php y de eacc, pero aun no figura activo, ya esta en la carpeta modules de php el archivo eaccelerator.so, pero nada, que puedo hacer ?

  • Mikel 07/09/2010

    ¿Has reiniciado apache?. En el primer link que dejo en mi comentario anterior, hay varios links con tutoriales sobre como configurar eaccelerator, al final del post, tal vez eso te ayude con tu problema.

    Un saludo.

  • Juanito 01/11/2010

    Para php 5.1.6 ver http://eaccelerator.net/ticket/426
    Comentar la línea 685 (versión eaccelerator: 9.6.1)

  • Albeiro Ochoa 02/11/2010

    Gracias por responder. Voy a seguir los tutoriales de lo enlaces a ver como me va por que soy muy novato en esto apenas lo tenga listo le comento como me fue

  • FidoBoy 05/11/2010

    Hola Mikel, antes de nada agradecerte esta estupenda entrada en tu blog, yo estoy prácticamente en tu misma situación recién estrenando un VPS y ando tambien algo perdido. Siguiendo tus instrucciones para instalar ZendOptimizer ejecuto:

    wget http://www.eth0.us/files/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz

    descomprimo el fichero pero…. ni hay install dentro, por tanto, el comando ./install no me rula. Has puesto bien el enlace? han cambiado el contenido de ese archivo?

    gracias de antemano.

  • FidoBoy 05/11/2010

    Vale, forget it, por si a alguien mas le pasa. La solución es una vez descomprimido el tar, accedemos a la subcarpeta data y dentro de ella veremos varias que corresponden a las diferentes versiones de PHP, entramos en la que corresponde (en mi caso PHP 5.2) y de ahi, copiamos o mejor, movemos el ZendOptimizer.so a la ruta /usr/lib64/php/modules/. Despues solo tenemos que escribir:

    echo «extension=ZendOptimizer.so» > /etc/php.d/ZendOptimizer.ini

    y reiniciar el apache con: service httpd restart

    listo!

  • pfd 24/11/2010

    Hola, me bloqueado en uno de los pasos. Cuando escribo phpize me responde que no ha podido encontrar el paquete phpize.
    ¿Qué puedo hacer?

  • pfd 24/11/2010

    Disculpa, corrijo el comentario anterior. Me dice que no identifica el comando phpize

  • Mikel 25/11/2010

    Prueba a instalar el paquete a ver si te deja (yum install phpize)

  • pfd 25/11/2010

    Ya lo he provado. Me dice que no ha podido encontrar el paquete phpize.

    Por otro lado, he preguntado a la empresa de hosting y me dicen lo siguiente:

    «para poder llamar a un binario o script de ese modo, debe hacerlo con «./nombrearchivo» teniendo este los permisos de ejecución activos para su usuario.»

    pero me temo que no entiendo nada. ¿Puedes traducirmelo en un modo que sepa qué hacer, por favor?

    Muchas gracias

  • Mikel 25/11/2010

    A ver, lo primero de todo, cuando vayas a realizar cambios en el servidor nunca hagas las pruebas en el hosting, siempre en un servidor que tengas de prueba, en tu ordenador o en una máquina virtual con el SO que uses en el hosting instalado, para que en el caso de que ocurra algo que falle no te cueste dinero, y solo sea tiempo perdido. Esto como consejo, nada más.

    Phpize se encuentra en el paquete php-devel en CentOS. He tardado en contestarte porque recordaba que estaba en php5-dev, pero este es un paquete de Debian.

    Puedes comprobar si lo tienes instalado escribiendo en consola «yum info php-devel», que lo más probable por el error que te da es que no lo tengas instalado.

    He probado a instalar eaccelerator en una máquina virtual que he creado ‘ex profeso’ para seguir el tutorial por si algo no era correcto, y ha funcionado a la perfección, por tanto, si tienes todos los paquetes instalados no debería darte problemas.

    Eaccelerator viene sin compilar, por tanto es necesario ejecutar antes unos comandos para generar el binario. Primero se usa phpize que aporta información sobre php y el tipo de módulo que debe generarse, después ejecutamos ./configure que genera el archivo make. Ejecutamos make y por último make install para instalar el paquete.

    Espero que esto te haya ayudado.

    Saludos

  • Pere 28/03/2011

    Hola,
    He instalado eaccelerator sin encontrar problemas insuperables, pero ahora, con Zend me he quedado bloqueado en el último paso, es decir, he hecho lo siguiente:

    cd /usr/local/src
    wget http://www.eth0.us/files/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
    tar -zxf ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
    cd ZendOptimizer-3.3.9-linux-glibc23-x86_64

    …pero cuando hago ./install me responde que no existe el archivo.

    ¿Qué puedo hacer? ¿donde he fallado?

    Gracias

  • Mikel 28/03/2011

    Hola Pere gracias por comentar.

    Dentro de la carpeta descomprimida te crea una carpeta llamada «data», entra en ella, si haces un ls verás unas cuantas carpetas, cada una corresponde con una versión diferente de PHP, entra en la carpeta que tiene el número de la versión de PHP que tienes instalada. Aquí verás un archivo llamado «zendoptimizer.so» lo tenemos que copiar a la carpeta «ext» de PHP. O sino quieres copiarla puedes dejarlo ahí.

    Después ves al archivo de configuración de PHP (php.ini) y al final del listado de extensiones añade:

    zend_extension=/Ruta/Completa/al/Archivo/zendoptimizer.so

    Reinicia el servidor web y listo.

  • Pere 30/03/2011

    Mike,
    Te agradezco la prontitud de la respuesta, pero me temo que no lo estoy logrando. No se donde está fallando pero cuando hago php -v continúa sin aparecer.

  • Mikel 30/03/2011

    Pere prueba a crear un archivo PHP con el método phpinfo(); ahí sí te lo debería mostrar como una extensión instalada.

    Un saludo

  • Pere 30/03/2011

    Disculpa Mikel, pero mis conocimientos de programación son prácticamente nulos, i no so como hacer lo que comentas sobre phpinfo. Copio el último mensaje que recibo sobre el fallo de instalación por si crees que puedes darme más detalles.

    Failed loading /root/ZendOptimizer-3.3.9-linux-glibc23-x86_64/data/5_2_x_comp/ze ndoptimizer.so: /root/ZendOptimizer-3.3.9-linux-glibc23-x86_64/data/5_2_x_comp/ zendoptimizer.so: cannot open shared object file: No such file or directory
    PHP 5.2.6-1+lenny10 with Suhosin-Patch 0.9.6.2 (cli) (built: Mar 19 2011 02:57:5 3)
    Copyright (c) 1997-2008 The PHP Group
    Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
    with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccele rator
    with the ionCube PHP Loader v3.1.28, Copyright (c) 2002-2007, by ionCube Ltd .

    Mil gracias por el apoyo

  • Mikel 30/03/2011

    Bueno lo que te decía se puede hacer a través de consola escribiendo php -m para ver los módulos instalados.

    Respecto al error que te da, prueba a escribir en vez de escribir el archivo de extensión de PHP todo en minúsculas escribelo con la primera letra de cada palabra en mayúsculas: ZendOptimizer.so, a ver si así te reconoce el archivo.

  • Pere 30/03/2011

    Increible, el problema era que había escrito …/zendoptimizer.so en lugar de …/ZendOptimizer.so

    es decir, que si hubiera seguido con más atención lo que me proponías en tu primera respuesta lo habría resuelto de entrada.

    Muchas gracias por tu apoyo

  • Pere 30/03/2011

    He tenido una sorpresa inesperada. Si bien ZendOptimiser ha reducido el uso de memoria espectacularmente, también ha hecho que se caiga Plesk.

    Este es el mensaje que recibo:

    Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0

    Fatal error: Unknown: Failed opening required ‘auth.php3′ (include_path=’.:’) in Unknown on line 0

    ¿alguna idea sobre como se puede recuperar Plesk?

  • Mikel 30/03/2011

    Me temo que eso ya supera mis conocimientos. En todo caso prueba con este hilo del foro de Parallels, a ver si te puede solucionar algo: http://forum.parallels.com/showthread.php?t=80452

    Un saludo

  • Pere 31/03/2011

    al final era un error en la subida de php.ini. Una vez corregido todo funciona fantásticamente bien.

    Muchas gracias por todo y felicidades por el blog y por el seguimiento que ofreces.

  • Mikel 31/03/2011

    Pere me alegro que lo hayas resuelto. Gracias por el cumplido y suerte con tus proyectos xD.

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Descubre más desde Interadictos

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo