Actualicé a Ubuntu Server 14.04 esperando que la instalación predeterminada de Apache usara el nuevo evento MPM, pero en su lugar encuentro el antiguo prefork que consume memoria.
He configurado con éxito el evento MPM en Arch Linux, pero no puedo hacerlo en Ubuntu. Sigo recibiendo:
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP
Ya instalé php-fpm
y configuré apache2 para usarlo, pero como los archivos de configuración para apache2 son diferentes en Ubuntu, no estoy muy seguro de si lo estoy haciendo en el lugar correcto.
¿Alguna idea sobre cómo hacer que el hilo PHP sea seguro para que pueda usar apache2 event-mpm? (sin tener que volver a compilar manualmente php, por supuesto)
sudo service apache2 restart
Esto funcionó para mí.
Primero verifique si tiene este paquete instalado:
Si lo tiene, simplemente retírelo:
fuente
Puede instalar múltiples formas para que Apache se comunique con PHP en paralelo. Tal vez tenga (todavía) el antiguo mod_php instalado, además de fastcgi / php-fpm.
Puede ver qué módulos ha cargado su Apache en tiempo de ejecución con
Si es necesario, utilícelo
sudo
para obtener privilegios de root. Si vephp5_module (shared)
entre los módulos que usa actualmente su Apache, el antiguo mod_php todavía está instalado y le impide usarmpm_worker
ompm_event
.fuente
sudo a2dismod
luego presione el carácter de tabulación dos veces para ver una lista de modificaciones que pueden desactivarse. Si lo vesphp5
diable.Para mí, seguir trabajando completamente en Debian:
a2dismod mpm_prefork && a2enmod mpm_event
aptitude remove libapache2-mod-php5
php_
Opción en su encapsulado VHost<IfModule mod_php5.c></IfModule>
, de lo contrario apache no se reiniciaráservice apache2 restart
fuente
Busque lo siguiente en las secciones Cargar módulos de su archivo de configuración de apache:
Y reemplácelo con el siguiente módulo:
fuente
a2dismod mpm_prefork && a2enmod mpm_event
. Luego reinicie su apache, y listo.el módulo php5 necesita prefork mpm, y para deshabilitar prefork, uno tiene que deshabilitar php5.
bajo debian, hice lo siguiente, como root:
deshabilitar el prefork mpm
habilite el evento mpm, o cualquier mpm que prefiera. tenga en cuenta que el evento mpm no se recomienda para apache 2.2 o anterior
para deshabilitar la carga del módulo php5, pero sin desinstalación.
para probar la corrección general de la configuración de apache resultante. los errores tendrían que ser resueltos según la respuesta de @sulther anterior.
reiniciar apache
en caso de que aún se necesite php, se debe instalar una versión segura para subprocesos. ver: https://www.digitalocean.com/community/tutorials/how-to-configure-apache-http-with-mpm-event-and-php-fpm-on-freebsd-12-0
buena suerte
fuente