Назад | Перейти на главную страницу

apachectl сообщает, что он находится в рабочем режиме, однако конфигурация, похоже, установлена ​​на предварительную вилку

Я использую VPS под управлением Apache2.4 и CentOS7. Я столкнулся с некоторыми проблемами с потоками и хотел бы попробовать запустить Apache в режиме предварительной вилки.

Если я сбегу apachectl -V чтобы проверить, в каком режиме я нахожусь, я получаю такой результат:

Server MPM:     worker
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)

Однако, когда я проверяю MPM conf (/etc/httpd/conf.modules.d/00-mpm.conf), Я вижу, что модуль prefork загружен:

#HTTPD=/usr/sbin/httpd.worker
#OPTIONS=
HTTPD_LANG=C
#PIDFILE=/var/run/httpd/httpd.pid

# Select the MPM module which should be used by uncommenting exactly
# one of the following LoadModule lines:
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule mpm_worker_module modules/mod_mpm_worker.so
#LoadModule mpm_event_module modules/mod_mpm_event.so

И дальше, если я проверю /etc/sysconfig/httpd Я вижу, что рабочая строка закомментирована:

#HTTPD=/usr/sbin/httpd.worker
#OPTIONS=
HTTPD_LANG=C
#PIDFILE=/var/run/httpd/httpd.pid

Я проверил, действительно ли эта конфигурация применяется к экземпляру Apache, который я использую. Например узор /etc/httpd/conf.modules.d/*.conf входит в мой httpd.conf файл. Возможно, эти параметры где-то перезаписываются, или я что-то упустил? Спасибо!

Я нашел проблему; Был еще один файл conf /etc/apache2/conf.modules.d/000_mod_mpm_worker.conf который загружает mpm_worker_module. Я пытался раскомментировать LoadModule в этом файле, но затем я получил сообщение об ошибке от Apache при перезапуске, сообщающее мне, что модуль MPM не загружен. Окончательным решением было изменить этот файл на 000_mod_mpm_prefork.conf и загрузить mpm_prefork_module внутри него.