Não consigo encontrar valores das diretivas MPM Prefork comoMaxRequestWorkers/MaxSpareThreadsetc no meu arquivo de configuração. Existe uma maneira de listar esses valores na linha de comando?
-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: Eu postei no SuperUser também. Não tenho certeza de qual é o lugar certo.
Responder1
- você nunca encontrará MaxSpareThreads porque o prefork não é encadeado, então deve ser
**MaxSpareServers**
- Não na linha de comando, você precisa"cat" seu arquivo de configuração principal, ou onde quer que sua distribuição os tenha colocado (httpd.conf ou apache.conf ou mpm.conf?)
- Se você temmod_infovocê pode "ondulação"seu servidor para obter informações e analisar/ler as configurações dele, essa é a coisa mais próxima de obter essas informações da linha de comando que você provavelmente encontrará. Lá você verá uma seção chamadaNome do módulo: prefork.ce depois de algum texto algo que diz "Configuração atual:"que mostra seu realconfigurações de mpm. (nota: mod_info não deve estar disponível publicamente em seu servidor para qualquer pessoa que o acesse, pois praticamente revela toda a sua configuração).
Se precisar de mais informações sobre como o prefork é/deve ser configurado, você pode verificá-lo nodocumentos oficiais sobre mpm prefork
Nota: eu não recomendaria o prefork de qualquer maneira, vá para o evento e se for por causa do mod_php, troque-o pelo php-fpm.
Responder2
Como alternativa às outras abordagens sugeridas aqui, descobri que minha distribuição Apache possui um diretório /usr/share/doc/httpd-2.4.54
que contém modelos e arquivos de várias configurações. Entre eles, httpd-default.conf
afirma quereflete as configurações padrão do Apache HTTP Server.
Eu não provei isso, mas suspeito que isso seja verdade para outro arquivo localizado aqui, httpd-mpm.conf
. Este arquivo contém seções de configurações relacionadas ao MPM com este preâmbulo:
# Only one of the below sections will be relevant on your
# installed httpd. Use "apachectl -l" to find out the
# active mpm.
Aparentemente -l
acima há um erro de digitação; no meu caso, eu corro apachectl -V
, o que me diz:
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
Então eu consulto a seção httpd-mpm.conf
referente apré-garfo MPM, que contém:
# 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>```