Instalar Alternative PHP Cache (APC) en CentOS

APC es un sistema de caché que sirve para almacenar código PHP compilado (por mod_php) y datos del usuario por lo que permite al servidor web (Apache HTTPD), procesar un mayor número de peticiones por segundo, no obstante es conveniente señalar que una configuración errónea de la misma puede ralentizar el proceso de respuesta, por lo que es importante ajustar parametros hasta encontrar el rendimiento adecuado.

El método que se describe a continuación necesita de la extension PEAR, para instalar PEAR en CentOS-5.6 siga las intrucciones del paso 5 del artículo: Actualizar a PHP 5.3.x en CentOS

Instalar APC
# yum -y install gcc make php-devel pcre pcre-devel && pecl install apc
Activar APC
# echo "extension=apc.so">/etc/php.d/apc.ini
Reiniciar Apache
# service httpd graceful
Comprobar
$ php -i | grep apc
Additional .ini files parsed => /etc/php.d/apc.ini,
apc
MMAP File Mask => /apc.shm.8Il1zO
apc.cache_by_default => On => On
...

Interfaz web

Crear dir en raíz del servidor web
# mkdir /var/www/apc
Copiar fichero apc.php
# cp -v /usr/share/pear/apc.php /var/www/apc/
Establecer contraseña
# vim +42 /var/www/apc/apc.php
Crear VirtualHost

Para más información sobre como crear VirtualHost vea el artículo: Instalar y configurar Apache HTTP server en CentOS / Fedora/ RHEL

La administración de la cache solo estará disponible para las IP1, 2 y 3

<VirtualHost *:80> 
        Options FollowSymLinks -ExecCGI
        ServerName apc.midominio.com
        DirectoryIndex apc.php
        DocumentRoot /var/www/apc
<Directory>
        Order Deny,Allow
        Deny from all
        Allow from IP1
        Allow from IP2
        Allow from IP3
</Directory> 
</VirtualHost> 

Lecturas recomendadas

-APC: Configuración en tiempo de ejecución




8 Comentarios

  1. Roberto

    Despues de leer en 2000 sitios, so tu post me ayudo a instalar APC. Muchas Gracias!!

    Responder
  2. Roberto

    como se si apc esta fubcionando correctamente?

    Responder
    1. sedlav

      APC viene con un script php apc.php que brinda información estadísticas de la cache para configurar este script y acceder desde tu navegador debes seguir los pasos desde: Interfaz web, del mismo artículo

      Responder
  3. Roberto

    si ya lo hice pero solo me cachea el fichero apc.php

    no me cachea nada mas

    Responder
    1. sedlav

      Aqui te dejo un ejemplo de la configuración que uso (probada en servidores de producción) no aseguro que se ajuste a tus necesidades en caso de usarla lo harías bajo tus propios riesgos
      ; Enable apc extension module
      extension = apc.so
      ; Options for the apc module
      apc.enabled=1
      apc.shm_segments=1
      apc.optimization=0
      apc.shm_size=256
      apc.ttl=7200
      apc.user_ttl=7200
      apc.num_files_hint=1024
      apc.mmap_file_mask=/tmp/apc.XXXXXX
      apc.enable_cli=1
      apc.cache_by_default=1
      apc.ttl=3600
      apc.user_ttl=3600
      # Este parametro inhabilita la recompilación de los ficheros que cambiaron
      # por lo tanto cada vez que actualices tus php debes borrar la cache
      apc.stat=0

      Responder
  4. Dario Magallan

    cuando reinicio el apache
    service httpd graceful

    me dice esto:

    apachectl: Configuration syntax error, will not run “graceful”:
    httpd: bad group name apache

    hace un par de dias que vengo intentando instalar y no puedo. hoy a la mañana se me cayo el apache, no logre levantarlo, soporte lo arreglo, pero ellos no instalan nada extra, todo corre bajo mi cuenta.

    Responder
    1. sedlav

      El usuario o grupo bajo el cual corre el apache una vez iniciado depende de de la distribución que estes usando: por ejemplo en Fedora/ CentOS/RHEL el apache corre con usr y grupo apache mientras que en Debian/Ubuntu el usr y grupo es www-data.

      Responder
  5. Daniel

    Gracias por la ayuda! Lo necesitaba para correr PHP 5.4.x Gracias!

    Responder

Dejar un comentario

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