Hoy les voy a compartir cómo realizo la configuración en el servidor Apache2 HTTP con MPM Event y el lenguaje de programación PHP8.
El servidor web Apache
Apache HTTP Server (también conocido como Apache) es un servidor web de código abierto desarrollado y mantenido por la Apache Software Foundation. Es uno de los servidores web más populares en uso en la actualidad debido a su estabilidad, flexibilidad y seguridad.
Multi-Processing Modulo
Dentro de Apache, el término «MPM» significa «Multi-Processing Module» (Módulo de Multiprocesamiento). Los MPMs son componentes clave en Apache que determinan cómo el servidor maneja las solicitudes entrantes y gestiona los procesos para atender esas solicitudes.
El MPM «event» (también conocido como «mpm_event«) es uno de los MPMs disponibles en Apache. Este MPM está diseñado para manejar conexiones persistentes más eficientemente que los MPMs tradicionales como «prefork» o «worker». Utiliza un modelo de subprocesos, similar al MPM «worker», pero implementa un manejo de eventos en lugar de un modelo de procesos o subprocesos por conexión.
El MPM «event» se diferencia del MPM «worker» en cómo maneja las solicitudes entrantes. Mientras que el MPM «worker» asigna un hilo por solicitud, el MPM «event» utiliza un modelo de subprocesos por conexión y aprovecha eventos del sistema operativo para manejar múltiples solicitudes con menos recursos. Esto puede llevar a una mejor escalabilidad y uso eficiente de los recursos, especialmente en entornos de alta carga.
Suponiendo que en el servidor ya tenemos un clásico entorno LAMP (Linux + Apache + MySQL y PHP), comparto el listado de comandos que vamos a ir ejecutando, un punto importante es que se asume que en los ejemplos se está utilizando la versión 8.2 de PHP.
Los cambios que vamos a realizar requieren apagar el servicio, por lo que vamos a ejecutar lo siguiente:
$ sudo systemctl stop apache2
Con el comando a2dismod, desactivamos los siguientes módulos:
$ sudo a2dismod php8.2
$ sudo a2dismod mpm_prefork
Con el comando a2enmod activamos el módulo mpm_event
$ sudo a2enmod mpm_event
Instalamos PHP FPM (FastCGI Process Manager)
$ sudo apt install php8.2-fpm
$ sudo apt install libapache2-mod-fcgid
Con el comando a2enconf activamos el módulo php8.2-fpm
$ sudo a2enconf php8.2-fpm
$ sudo a2enmod proxy
$ sudo a2enmod proxy_fcgi
Ahora solo queda iniciar/reiniciar el servidor Apache y corroborar que el módulo mpm_event se encuentre cargado en la ejecución.
$ sudo systemctl restart apache2
$ sudo apachectl -M | grep 'mpm_event'
Apache2 MPM «event» es un componente del servidor web Apache que utiliza un modelo de subprocesos y un manejo de eventos para manejar eficientemente las solicitudes entrantes y mejorar el rendimiento en entornos de alta carga.
0 comentarios