Configurar Apache con PHP-FPM y MPM_event en Ubuntu 18.04

Apache FastCGI con PHP-FPM es una de las mejores pilas para alojar aplicaciones PHP. Esta pila no es tan fácil como configurar una pila LAMP básica, pero es mucho mejor que la pila LAMP básica en lo que respecta al rendimiento. El ingrediente clave en esta pila es FPM, que significa Fast Process Manager. En esta pila, Apache enviará todos los archivos PHP para su procesamiento a FPM. Luego devolverá la salida renderizada al navegador.

Hoy vamos a configurar PHP-FPM (FastCGI Process Manager) para Apache en un abrir y cerrar de ojos. Es muy fácil. Partimos de la instalación Ubuntu Server limpia, pero la explicación también vale para cualquier otra distro basada en Debian.

Instalar Apache con FastCGI

Ejecute los siguientes comandos en su servidor para instalar Apache y FastCGI.

sudo apt-get update
sudo apt-get install apache2

Ahora, podemos pasar a instalar PHP en nuestro servidor. Instalar PHP es la tarea más fácil de todas las tareas que tenemos que realizar.

Instalar PHP FPM

Instalaremos solo un puñado de extensiones PHP junto con PHP-FPM. Pero puede instalar tantas extensiones como desee según sus requisitos. Iremos con la versión 7.2 de PHP en esta guía, de nuevo, puede instalar la versión de PHP que funcione mejor para usted.

Ejecute los siguientes comandos para instalar PHP-FPM con otras extensiones PHP en su servidor.

sudo apt-get install php-fpm php7.2-fpm
sudo apt-get install php7.2-mysql php7.2-mbstring php7.2-curl php7.2-dom

Una vez que se completa el proceso, PHP está listo para usar en nuestro servidor. Si desea instalar una versión diferente de PHP, simplemente reemplácela 7.2con 7.X. Por ejemplo, la sustitución 7.2con 7.1instalará PHP7.1 en su servidor.

Verifique la instalación ejecutando el comando dado a continuación.

php -v

Debería ver la versión de PHP junto con alguna otra información sobre su instalación de PHP como resultado del comando. Una vez que PHP está listo, ahora podemos configurar nuestro servidor web Apache para pasar solicitudes PHP a FPM.

Configurar Apache con PHP-FPM

En este momento, nuestro servidor web Apache y PHP-FPM están configurados y pueden funcionar individualmente. Pero todavía tenemos que decirle a nuestro servidor web Apache que pase las solicitudes de PHP al administrador de procesos rápido de PHP.

sudo a2enconf php7.2-fpm

Si ya teniamos instalado PHP, nos mandará el siguiente mensaje:

 NOTICE: Not enabling PHP 7.2 FPM by default.
 NOTICE: To enable PHP 7.2 FPM in Apache2 do:
 NOTICE: a2enmod proxy_fcgi setenvif
 NOTICE: a2enconf php7.2-fpm
 NOTICE: You are seeing this message because you have apache2 package installed.
 Created symlink /etc/systemd/system/multi-user.target.wants/php7.2-fpm.service → /lib/systemd/system/php7.2-fpm.service.

Básicamente no está diciendo que necesitamos habilitar módulos y configuraciones en Apache. También crea un enlace al archivo de configuración básica, la cual la puede ver en el siguiente archivo:

sudo nano /etc/apache2/conf-available/php7.2-fpm.conf

Ahora, también tenemos que habilitar este archivo de configuración para que Apache pueda pasar archivos PHP para su procesamiento a Fast Process Manager. Ejecute los siguientes comandos para habilitar los módulos y el archivo de configuración.

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.2-fpm
sudo a2enmod actions alias

Y desactivamos los que no necesitamos:

sudo a2dismod php7.2 mpm_prefork

Súper importante, instala y activa el módulo mpm_event:

sudo apt-get install apache2-mpm-event
sudo a2enmod mpm_event

Finalmente reiniciamos Apache:

sudo service apache2 restart

Si no ve ningún problema al volver a cargar la configuración de Apache, ¡felicidades! La instalación de Apache ahora puede funcionar con Fast Process Manager para manejar los archivos PHP.

Personalizar parámetros de PHP

En Apache,  php.ini generalmente se encuentra en  /etc/php/7.2/apache2/php.ini. Sustituir  7.2 con su propia versión.

Para editar:

sudo nano /etc/php/7.2/apache2/php.ini

Sin embargo, si está utilizando PHP FPM, puede estar ubicado en  /etc/php/7.2/fpm/php.ini. Sustituir  7.2 con su propia versión.

Para editar:

sudo nano /etc/php/7.2/fpm/php.ini

Para guardar el archivo y salir, presione  CTRL +  X, presione  Y y luego presione ENTER

Debe reiniciar Apache después de la modificación  php.ini.

sudo systemctl restart apache2

Si está utilizando PHP-FPM, debe reiniciar ese servicio. Sustituir  php7.2 con su propia versión.

sudo service php7.2-fpm restart

Referencias:

https://www.interserver.net/tips/kb/apache-php-fpm-ubuntu-18-04/
https://programarivm.com/superrapido-configurar-apache-con-php-fpm-y-mpm-event-en-ubuntu-server/
https://www.woktron.com/secure/knowledgebase/133/How-to-optimize-Apache-performance.html

También te podría gustar...

Deja un comentario

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