Apache 2.4 выводит список значений директив prefork из командной строки

Apache 2.4 выводит список значений директив prefork из командной строки

Я не могу найти значения директив MPM Prefork, напримерМаксRequestWorkers/Макс. кол-во свободных потокови т. д. в моем конфигурационном файле. Есть ли способ перечислить эти значения из командной строки?

-bash-4.2# httpd -v
Server version: Apache/2.4.23 (Amazon)

-bash-4.2# httpd -V
Server version: Apache/2.4.23 (Amazon)
Server built:   Jul 29 2016 21:42:17
Server's Module Magic Number: 20120211:61
Server loaded:  APR 1.5.1, APR-UTIL 1.4.1
Compiled using: APR 1.5.1, APR-UTIL 1.4.1
Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="/var/run/httpd/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

PS: Я также разместил это на SuperUser. Я не уверен, где правильное место.

решение1

  1. вы никогда не найдете MaxSpareThreads, потому что prefork не является потоковым, поэтому он должен быть**MaxSpareServers**
  2. Не из командной строки, вам нужно"cat" ваш основной файл конфигурацииили там, где их разместил ваш дистрибутив (httpd.conf или apache.conf или mpm.conf?)
  3. Если у вас естьmod_infoты можешь "завиток"ваш сервер для получения информации и анализа/чтения настроек с него, это самое близкое, что вы, вероятно, найдете, чтобы получить эту информацию из командной строки. Там вы увидите раздел под названиемИмя модуля: prefork.cи после какого-то текста что-то вроде "Текущая конфигурация:" который показывает ваш фактическийнастройки мпм. (примечание: mod_info не должен быть доступен публично на вашем сервере любому, кто к нему обращается, поскольку он фактически раскрывает всю вашу конфигурацию).

Если вам нужна дополнительная информация о том, как настраивается/должна настраиваться prefork, вы можете проверить ее наофициальные документы о mpm prefork

Примечание: я бы не рекомендовал prefork в любом случае, используйте event, а если это из-за mod_php, откажитесь от него в пользу php-fpm.

решение2

В качестве альтернативы другим подходам, предложенным здесь, я обнаружил, что мой дистрибутив Apache имеет каталог /usr/share/doc/httpd-2.4.54, содержащий шаблоны и файлы различных настроек. Среди них, httpd-default.confутверждает, что онотражает настройки по умолчанию для Apache HTTP Server.

Я не доказал этого, но подозреваю, что это относится и к другому файлу, расположенному здесь, httpd-mpm.conf. Этот файл содержит разделы настроек, связанных с MPM, с такой преамбулой:

# Only one of the below sections will be relevant on your
# installed httpd.  Use "apachectl -l" to find out the
# active mpm.

Видимо, -lвыше допущена опечатка; в моем случае я запускаю apachectl -V, что говорит мне:

Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....

Поэтому я просматриваю раздел, httpd-mpm.confкасающийсяпредварительная вилка MPM, который содержит:

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxRequestWorkers: maximum number of server processes allowed to start
# MaxConnectionsPerChild: maximum number of connections a server process serves
#                         before terminating
<IfModule mpm_prefork_module>
    StartServers             5
    MinSpareServers          5
    MaxSpareServers         10
    MaxRequestWorkers      250
    MaxConnectionsPerChild   0
</IfModule>```

Связанный контент