12 votes

Apache enable worker mpm

J'ai configuré FastCGI et PHP5-FPM pour fonctionner sur ubuntu, ce qui fonctionne bien.

Mais j'ai installé "apache2 worker mpm" et souhaitait configurer et remplacer le module "prefork mpm" qui est la valeur par défaut d'Apache2.

Tout ce que j'ai trouvé dans CentOS, c'est /etc/sysconfig/httpd en mettant simplement HTTPD=/usr/sbin/httpd.worker fera "travailleur mpm" a permis.

  1. Comment activer "worker mpm" dans Ubuntu ?

  2. De même, lorsque je liste les modules compilés d'Apache "/usr/sbin/apachectl -l" il ne s'affiche pas "prefork.c" qui doit être listé puisque nous l'utilisons par défaut. Mais quand je fais "/usr/sbin/apache2 -V | grep MPM" il montre "Serveur MPM : prefork" Quelqu'un peut-il m'expliquer cela ?

$ /usr/sbin/apache2 -V | grep MPM

Server MPM:     prefork

phpinfo() ;

Server API :    FPM/FastCGI

31voto

someone Points 41

Après un certain temps de travail, je l'ai fait moi-même. Vous trouverez les étapes ci-dessous.

Vérifiez quel MPM apache est actuellement en cours d'exécution :

apachectl -V | grep -i mpm

Result:
Server MPM:     prefork

Liste des modules MPM disponibles (Assurez-vous que mpm_worker est listé)

ls /etc/apache2/mods-available/mpm*

Result:
/etc/apache2/mods-available/mpm_event.conf  /etc/apache2/mods-available/mpm_prefork.conf  /etc/apache2/mods-available/mpm_worker.conf
/etc/apache2/mods-available/mpm_event.load  /etc/apache2/mods-available/mpm_prefork.load  /etc/apache2/mods-available/mpm_worker.load

Liste des modules MPM activés (Si mpm_worker n'est pas activé, nous devons l'activer et désactiver le module mpm_prefork).

ls -l /etc/apache2/mods-enabled/mpm*

Result:
/etc/apache2/mods-enabled/mpm_prefork.conf -> ../mods-available/mpm_prefork.conf
/etc/apache2/mods-enabled/mpm_prefork.load -> ../mods-available/mpm_prefork.load

Désactiver le module MPM_PREFORK

a2dismod mpm_prefork

Activer le module MPM_WORKER

a2enmod mpm_worker

Pour vérifier si Apache fonctionne sur MPM WORKER

apachectl -V | grep -i mpm

Result:
Server MPM:     worker

Si vous obtenez cette erreur après avoir exécuté ces commandes :

Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP

Essayez de supprimer le paquet libapache2 :

apt-get remove libapache2-mod-php5

2voto

twixi Points 21

Apache utilise un MPM threadé, mais votre module PHP n'est pas compilé pour être threadsafe. Vous devez recompiler PHP.

0voto

marvin Points 473

Si vous obtenez cette erreur après avoir exécuté ces commandes :

Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP

Essayez de supprimer le paquet libapache2 :

apt-get remove libapache2-mod-php7.0

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X