Apache activer le travailleur mpm

10

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

Mais j'ai installé le module "apache2 worker mpm" et je voulais configurer et remplacer "prefork mpm" qui est par défaut dans apache2.

Tout ce que j'ai trouvé était dans CentOS à la /etc/sysconfig/httpdsimple mise en marche, ce HTTPD=/usr/sbin/httpd.workerqui rend "travailleur mpm" activé.

  1. Comment activer "mpm de travailleur" dans Ubuntu?

  2. De plus, lorsque je répertorie les modules compilés d'apache, "/usr/sbin/apachectl -l"il ne répertorie pas ceux "prefork.c"qui sont censés être répertoriés, car nous les utilisons par défaut. Mais quand je le "/usr/sbin/apache2 -V | grep MPM"montre "Server MPM: prefork", quelqu'un peut-il expliquer cela s'il vous plaît?

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

Server MPM:     prefork

phpinfo ();

Server API :    FPM/FastCGI
sravis
la source

Réponses:

29

Après un certain temps de travail, je l'ai fait moi-même. Vous pouvez trouver 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 répertorié)

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 s'exécute 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
sravis
la source
2
A suivi les instructions mais a obtenu ceci: * Redémarrage du serveur web apache2 [échec] * Le configtest apache2 a échoué. La sortie du test de configuration était: AH00534: apache2: erreur de configuration: plus d'un MPM chargé. Échec de l'action «configtest». Le journal des erreurs Apache peut contenir plus d'informations.
neobie
parfait :) ça marche pour moi.
chirag jagani
Il donne l'erreur "Apache exécute un MPM threadé, mais votre module PHP n'est pas compilé pour être threadsafe. Vous devez recompiler PHP" et la suppression de libapache2-mod-php5 n'aide pas non plus.
iCyborg
2

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

twixi
la source
0

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
David Van De Meer
la source