web-dev-qa-db-fra.com

Apache activer travailleur mpm

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 la valeur par défaut dans Apache2.

Tout ce que j'ai trouvé était dans CentOS à /etc/sysconfig/httpd, il suffit de mettre HTTPD=/usr/sbin/httpd.worker pour que "worker mpm" soit activé.

  1. Comment activer "worker mpm" dans Ubuntu?

  2. Aussi, quand je liste les modules compilés d'Apache "/usr/sbin/apachectl -l", il ne listera pas "prefork.c" qui disait être listés puisque nous l'utilisons par défaut. Mais quand je fais "/usr/sbin/Apache2 -V | grep MPM" il 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
10
sravis

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 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 devrions 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 est en cours d'exécution 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
28
sravis

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

2
twixi

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
0