it-swarm.com.de

Apache aktivieren Arbeiter mpm

Ich habe FastCGI und PHP5-FPM für Ubuntu konfiguriert.

Aber ich habe "Apache2 worker mpm" Modul installiert und wollte "prefork mpm" konfigurieren und ersetzen, was in Apache2 voreingestellt ist.

Alles, was ich gefunden habe, war in CentOS bei /etc/sysconfig/httpd nur das Setzen von HTTPD=/usr/sbin/httpd.worker macht "worker mpm" aktiviert.

  1. Wie aktivieren wir "worker mpm" in Ubuntu?

  2. Auch wenn ich die kompilierten Module von Apache "/usr/sbin/apachectl -l" aufführe, listet es "prefork.c" nicht auf, was als Auflistung bezeichnet wird, da wir es standardmäßig verwenden. Aber wenn ich "/usr/sbin/Apache2 -V | grep MPM" mache, zeigt es "Server MPM: prefork" Kann jemand dies bitte erklären?

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

Server MPM:     prefork

phpinfo ();

Server API :    FPM/FastCGI
10
sravis

Nach einiger Zeit habe ich es selbst gemacht. Sie finden die Schritte unten.

Überprüfen Sie, welcher MPM Apache aktuell ausgeführt wird:

apachectl -V | grep -i mpm

Result:
Server MPM:     prefork

Liste der verfügbaren MPM-Module (stellen Sie sicher, dass mpm_worker aufgelistet ist)

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 aktivierter MPM-Module (Wenn mpm_worker nicht aktiviert ist, sollten wir es aktivieren und das mpm_prefork-Modul deaktivieren)

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

Deaktivieren Sie das MPM_PREFORK-Modul

a2dismod mpm_prefork

Aktivieren Sie das MPM_WORKER-Modul

a2enmod mpm_worker

So überprüfen Sie, ob Apache unter MPM WORKER ausgeführt wird

apachectl -V | grep -i mpm

Result:
Server MPM:     worker

Wenn Sie diesen Fehler nach dem Ausführen dieser Befehle erhalten:

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

Versuchen Sie, das libapache2-Paket zu entfernen:

apt-get remove libapache2-mod-php5
28
sravis

Apache führt ein Thread-MPM aus, aber Ihr PHP -Modul ist nicht thread-sicher kompiliert. Sie müssen PHP neu kompilieren.

2
twixi

Wenn Sie diesen Fehler nach dem Ausführen dieser Befehle erhalten:

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

Versuchen Sie, das libapache2-Paket zu entfernen:

apt-get remove libapache2-mod-php7.0
0