Ejecución de scripts PHP

1) Módulo php de Apache2

Módulo de apache: libapache2-mod-php5. No es compatible con worker.

2) CGI - FastCGI

La ejecución del código php se hace por un proceso independiente del servidor web. Vamos a usarlo con el módulo de procesamiento worker, para ello:

  • Instalamos el paquete php5-cgi.
  • Creamos un fichero de configuración en conf.d con las siguientes directivas:

ScriptAlias /local-bin /usr/bin
AddHandler aplication/x-httpd-php5 php
Action aplication/x-httpd-php5 /local-bin/php-cgi

FastCGI es un protocolo para interconectar programas interactivos con un servidor web. FastCGI es una variación de la ya conocida Common Gateway Interface (CGI ó Interfaz Común de Entrada). El principal objetivo de FastCGI es reducir la carga asociada con el hecho de interconectar el servidor web y los programas Common Gateway Interface, permitiéndole a un servidor atender más peticiones a la vez.

apt-get remove liabpache2-mod-php5
apt-get install libapache2-mod-fastcgi libapache2-mpm-worker php5-fpm

a2enmod actions fastcgi

/etc/apache2/mods-enabled/fastcgi.conf
   

    <IfModule mod_fastcgi.c>
     AddType application/x-httpd-fastphp5 .php
     Action application/x-httpd-fastphp5 /php5-fcgi
     Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
     FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization
    </IfModule>

3) Aceleradores PHP

El objetivo principal de un acelerador PHP es guardar los scripts php ya compilando, obteniedno un mayor rendimiento en la respuesta del servidor. El acelerador se puede usar usando el módulo php de apache o usando fastcgi.

http://www.maestrosdelweb.com/editorial/aceleradores-de-php/

Nosotros vamos a utilizar el acelerador apc:

apt-get install php-apc

En el archivo de configuración /etc/php5/conf.d/20-apc.ini

apc.enabled=1
apc.shm_size=128M
apc.ttl=3600
apc.user_ttl=7200
apc.gc_ttl=3600
apc.max_file_size=1M

Para comprobar que apc está funcionando:

php -i |grep apc.enabled

Recuerda que si usas FPM, tienes que inicializar los dos procesos:

service apache2 restart
service php5-fpm restart

4) Varnish

Varnish es un acelerador HTTP que funciona como un proxy inverso. Se situa por delante del servidor web, cacheando la respuesta de dicho servidor web en memoria. La próxima vez que un visitante visite la misma URL, la página será servida desde Varnish en lugar de desde el servidor web, ahorrando recursos en el backend y permitiendo más conexiones simultáneas.

Last modified: Monday, 15 December 2014, 1:01 PM