Publicidad

Configurar Apache2 worker con PHP FastCGI en Linux


Por Alex el 01/11/2016, Comentar el artículo

Comparte este artículo:      




Vamos a realizar la configuración de Apache2 worker con PHP FastCGI en Linux. Por defecto cuando instalas Apache2 y PHP, se configura con prefork y solo uno de los dos módulos de procesamiento pueden estar activos.


Lo primero que tenemos que hacer es comprobar que instalación de Apache2 tenemos y para esto ejecutamos este comando en el terminal

sudo apache2ctl -V | grep -i server


Configuracion apache2

Como podéis ver en Server MPM: lo tengo configurado como prefork.

Ahora vamos a cambiar esta configuración e instalar el modulo worker para Apache2

Lo primero es instalar los paquetes que Apache2 y PHP que faltan.

sudo apt-get install libapache2-mod-fastcgi php7.0-fpm

Una vez instalado estos paquetes habilitamos el modo fastcgi

sudo a2enmod actions fastcgi alias

Ahora desabilitamos el modulo prefork

sudo a2dismod mpm_prefork

Activamos el modulo worker

sudo a2enmod mpm_worker

Reiniciamos apache2

sudo /etc/init.d/apache2 restart

Eliminamos la libreria libapache2-mod-php7.0

sudo apt-get remove libapache2-mod-php7.0

Y volvemos a reiniciamos apache2

sudo /etc/init.d/apache2 restart

Y si miramos que modulo tenemos activado ejecutando el comando de antes apache2ctl

sudo apache2ctl -V | grep -i server

Configuracion apache2

Vemos que ya esta configurado el modulo worker.

Pero si ahora probamos un web que tengamos configurado veremos que no funciona porque falta configurar el php-fpm (fastCGI), el fichero de configuracion es /etc/apache2/mods-enabled y originalmente tiene esto


 AddHandler fastcgi-script .fcgi
  #FastCgiWrapper /usr/lib/apache2/suexec
 FastCgiIpcDir /var/lib/apache2/fastcgi

Al final de esta linea, AddHandler fastcgi-script .fcgi, hay que añadir .php y debajo añadimos lo siguiente


 AddHandler php7-fcgi .php
 Action php7-fcgi /php7-fcgi
 Alias /php7-fcgi /usr/lib/cgi-bin/php7-fcgi
 FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization

 
   Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
   Require all granted
 Order allow,deny
 Allow from all
 



Ahora reiniciamos apache2 y php7.0-fpm

sudo /etc/init.d/apache2 restart
sudo /etc/init.d/php7.0-fpm restart

Y ahora ya funciona correctamente PHP con Apache2 worker

Si queréis más información aquí tenéis unos links.

Aquí tenéis un articulo para instalar Instalación de Apache2, MySql y PHP y queda instalado con prefork.

Y aquí la serie entera de como Instalar un servidor web en entorno LAMP

Si queréis saber las diferencias mirar este articulo:
Diferencias entre apache prefork, event y worker

Y esto es todo, feliz instaling!!
Saludos
Alex.



Si te ha gustado el artículo compartelo en:      




Añadir un comentarios:

Nombre:
Email: (no se publica el email)




SIGUENOS EN

ARCHIVO

Publicidad

.