Я настроил FastCGI и PHP5-FPM для работы над человечностью, Которая хорошо работает.
Но я установил "apache2 рабочего mpm" модуль и хотел настроить и заменить "предварительное ветвление mpm", который является значением по умолчанию в apache2.
Все, что я нашел, было в CentOS в /etc/sysconfig/httpd
просто помещение HTTPD=/usr/sbin/httpd.worker
сделает "рабочего mpm", включил.
Как мы включаем "рабочему mpm" в Ubuntu?
Также, когда я перечисляю скомпилированные модули апача "/usr/sbin/apachectl -l"
это список привычки "prefork.c"
который сказал для списка, так как мы используем его по умолчанию. Но когда я делаю "/usr/sbin/apache2 -V | grep MPM"
это показывает "Серверу MPM: предварительное ветвление" кто-то может объяснить это?
$/usr/sbin/apache2-V | grep MPM
Server MPM: prefork
phpinfo ();
Server API : FPM/FastCGI
Через какое-то время работы я сделал это сам. Можно найти ниже шаги.
Проверка, которую в настоящее время осуществляет апач MPM:
apachectl -V | grep -i mpm
Result:
Server MPM: prefork
Список Доступные Модули MPM (Удостоверяются mpm_worker, перечислены)
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
, Список Включил Модули MPM (Если mpm_worker не включают, мы должны включить его и отключить 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
, Отключают модуль MPM_PREFORK
a2dismod mpm_prefork
, Позволяют модулю MPM_WORKER
a2enmod mpm_worker
проверить, работает ли Apache на РАБОЧЕМ MPM
apachectl -V | grep -i mpm
Result:
Server MPM: worker
, Если Вы получаете эту ошибку после выполнения этих команд:
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP
Попытка удалить libapache2 пакет:
apt-get remove libapache2-mod-php5
Апач управляет переплетенным MPM, но Ваш Модуль PHP не собран, чтобы быть threadsafe. Вы должны повторно собрать PHP.
Если Вы получаете эту ошибку после выполнения этих команд:
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP
Попытка удалить libapache2 пакет:
apt-get remove libapache2-mod-php7.0