Configurando Apache con PHP-FPM en Ubuntu
Como ya comente en el articulo Configurando Apache con PHP-FPM en CentOS/RHEL 7, PHP-FPM es una manera mucho mas eficiente de manejar grandes volúmenes de consultas. En este articulo veremos como configurarlo en Ubuntu.
En este articulo asumiremos que ya tenemos instalado apache2
en nuestro sistema. Primero instalaremos el paquete php7.2-fpm
:
sudo apt install php7.2 php7.2-{fpm,common}
Ahora debemos instalar el modulo FastCGI de apache2
, para ellos ejecutaremos los siguientes ordenes:
wget http://mirrors.kernel.org/ubuntu/pool/multiverse/liba/libapache-mod-fastcgi/libapache2-mod-fastcgi_2.4.7\~0910052141-1.2_amd64.deb
sudo dpkg -i libapache2-mod-fastcgi_2.4.7~0910052141-1.2_amd64.deb
Una vez instalado debemos activar varios módulos de apache2
necesarios:
sudo a2enmod actions fastcgi alias proxy_fcgi
En caso de que el modulo php de apache2
este activado deberemos desactivarlo, para que fpm
funcione correctamente.
sudo a2dismod php7.2
Es momento de editar el archivo /etc/apache2/sites-available/000-default.conf
para añadir la configuración del manejador FPM:
sudo vim /etc/apache2/sites-available/000-default.conf
Añadiremos las siguientes lineas:
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/"
</FilesMatch>
Alternativamente podemos activar directamente la configuración de php-fpm
con el comando:
sudo a2enconf php7.2-fpm
Finalmente reiniciaremos el servidor apache2
y el servicio fpm
:
sudo systemctl restart {apache2,php7.2-fpm}.service
Adicionalmente podemos realizar cambios en la configuración del pool de procesos en el archivo /etc/php/7.2/fpm/php-fpm.conf
.