Mostrando entradas con la etiqueta unix. Mostrar todas las entradas
Mostrando entradas con la etiqueta unix. Mostrar todas las entradas

Instalar sistema de opcode cache con APC

sábado, 14 de julio de 2012


En este artículo hablaremos sobre cómo instalar y configurar el sistema de cache APC. Este artículo va dirigido especialmente a aquellos blogs, foros o páginas web que tengan una cantidad considerable de visitas diarias y llegue un momento en que los recursos que le ofrece su servidor (ya sea VPS o servidor dedicado) no sean los suficientes para mantener  un acceso a la página web estable y rápido.

APC (Alternative PHP Cache) es un sistema de cache que nos permite acelerar la ejecución de scripts PHP, al mismo tiempo que nos permite emplear menos recursos para su ejecución. Como ya sabemos, PHP es un lenguaje interpretado y cada vez que se ejecuta un script debe ser compilado en bytecode para ser ejecutado. Lo que hace APC, es emplear memoria RAM para hacer un cache de bytecode (el propio APC nos permite configurar la cantidad de RAM destinada al cache), así no es necesario compilar el script en cada ejecución. Lo anterior, incrementa la velocidad de ejecución del script y disminuye los recursos empleados para ejecutar dicho script, lo cual es de utilidad en páginas web con gran volumen de visitas.

Me veo obligado a comentar que usar un sistema de cache debería ser una opción sólo cuando es realmente necesario y no emplearlo como primera medida para reducir la carga de un servidor, ya que nuestra primera medida debería ser optimizar la web (el código PHP, las queries MySQL, etc…).

Existen otros sistemas de cache como eAccelerator, XCache, etc… pero en mí opinión APC es la mejor opción, ya que es de código abierto y los benchmarks que he visto por la red le dan muy buenas puntuaciones e incluso formará parte del futuro PHP 6, por lo que es bueno empezar a tomar contacto con este sistema de cache.

A  continuación mostraré como instalarlo y configurarlo (de forma básica).

Para una distribución Debian, suponemos que tenemos los paquetes básicos instalados (servidor apache, PHP) ejecutamos:
apt-get install apache2-prefork-dev php5-dev php-pear
Después empleamos pecl (el instalador de extensions de PHP) con el comando:
pecl install apc
Ya está APC instalado, sólo queda activarlo en el archivo de configuración php.ini agregando la liínea:
extension=apc.so
Después bastaría con reiniciar apache y ya tendríamos funcionando APC. Lo podéis comprobar con un archivo phpinfo y buscar si la extensión APC está activa.

En una distribución CentOS, suponiendo que ya tenemos el servidor apache instalado y PHP, ejecutamos el comando:
yum install php-pear php-devel pcre-devel httpd-devel
Ahora procedemos a instalar APC con el administrador de extensiones de PHP ejecutando el comando:
pecl install apc
Al igual que en el sistema Debian sólo queda agregar la línea siguiente al php.ini:
extension=apc.so
Reiniciamos apache y ya deberíamos tener APC funcionando.


Después de instalar APC podemos configurar mas finamente el sistema de cache agregando las diferentes opciones con sus valores al php.ini, dejo el link oficial al listado de todas las opciones de APC:
http://php.net/manual/en/apc.configuration.php

También recordar que el propio paquete APC nos proporciona el archivo “apc.php” al que podremos acceder a través de nuestro servidor y ver las estadísticas del sistema de cache APC en tiempo real.

Administra tu Sistema con Webmin

viernes, 30 de septiembre de 2011

¿Qué es Webmin?
Webmin es una interface web que permite la administración de los sistemas basados en Unix. Éstos permiten modificar los diferentes programas que podemos instalar en el sistema como por ejemplo un servidor DNS, Apache, postfix, etc. Existen varias versiones las cuales pueden ser descargadas desde su web.

En este post para hacer la instalación y guía utilizaremos la última versión en formato tar.gz.

Instalación:
Para poder empezar la instalación, deberéis descomprimir el fichero ejecutando los siguientes comandos:
# tar xzvf webmin-1.560.tar.gz
# cd webmin-1.560.tar.gz

Una vez efectuadas dichas acciones pasaremos a instalar el programa:

# ./setup.sh /usr/local/webmin

Si el sistema no puede determinar algunos parámetros, efectuará las siguientes preguntas:
  • Web server port: Puerto TCP que escuchará
  • Web server login and password: Claves de acceso, si lo dejamos por defecto usa root.
  • Web server hostname: Nombre del equipo local.
  • Use SSL: Solo preguntará si el sistema posee librerías de Perl instaladas.
  • Start Webmin at boot time: Si el SO os lo permite, webmin iniciará junto con el sistema.
Una vez terminada la instalación, podréis acceder a la consola desde el Navegador de cualquier equipo situado en la misma red, escribiendo en la barra de direcciones la dirección http://IP_del_equipo:puerto seleccionado/. Si no se configuró ningún puerto diferente, por defecto es 10000.
Al entrar en la consola web, podremos ver en la pantalla principal, la versión de Webmin, nombre del host, hora del sistema, tiempo que el equipo lleva en producción, memoria real, virtual y uso de discos. A la izquierda de la pantalla os mostrará las opciones que tenéis para configurar el sistema.


Cada menú permite configuraciones especiales:
  1. Webmin: Permite configurar archivos de backup, cambiar el idioma, usuarios del programa y logs de las diferentes acciones realizadas. 
  2.  System: Permite configurar cuentas del sistema, inicio y apagado del mismo, logs del sistema, etc. Todo lo referido al sistema operativo corriendo en el pc. 
  3. Servers: Permite configurar todos los servidores que tengamos instalados en dicho host, como servidor web, correo, etc.
  4. Others: Configuración de PHP, modulos Perl, estado del sistema y servers, línea de comandos, etc.
  5. Networking: Permite las configuraciones de red como firewall, monitorización de ancho de banda, etc.
  6. Hardware: Particiones y discos lógicos, administración de impresoras, tiempo del sistema. 
  7. Cluster: Diferentes tipos de clusters que tengamos configurados. 
  8. Un-used Modules: Como el nombre indica son módulos que todavía no están instalados.
 Espero que el programa sea de utilidad.