No puedo encontrar valores de directivas MPM Prefork comoMaxRequestTrabajadores/MaxSpareThreadsetc en mi archivo de configuración. ¿Hay alguna manera de enumerar estos valores desde la línea 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"
PD: También lo publiqué en SuperUser. No estoy seguro de cuál es el lugar correcto.
Respuesta1
- nunca encontrará MaxSpareThreads porque el prefork no tiene subprocesos, por lo que debería ser
**MaxSpareServers**
- No desde la línea de comando, necesitas"cat" tu archivo de configuración principal, o dondequiera que su distribución los haya colocado (httpd.conf o apache.conf o mpm.conf?)
- Si usted tieneinformación_modpuede "rizo" su servidor para obtener su información y analizar/leer la configuración del mismo, eso es lo más parecido a obtener esa información desde la línea de comando que probablemente encontrará. Allí verá una sección llamadaNombre del módulo: prefork.cy después de un texto algo que dice "Configuración actual:" que muestra tu realconfiguración de mpm. (nota: mod_info no debería estar disponible públicamente en su servidor para cualquiera que acceda a él, ya que prácticamente revela toda su configuración).
Si necesita más información sobre cómo se debe configurar prefork, puede consultarlo en eldocumentos oficiales sobre mpm prefork
Nota: No recomendaría prefork de todos modos, opte por el evento y, si es por mod_php, deséchelo en favor de php-fpm.
Respuesta2
Como alternativa a los otros enfoques sugeridos aquí, encuentro que mi distribución de Apache tiene un directorio /usr/share/doc/httpd-2.4.54
que contiene plantillas y archivos de varias configuraciones. Entre ellos,httpd-default.conf
afirma querefleja la configuración predeterminada para el servidor HTTP Apache.
No lo he probado, pero sospecho que esto es cierto para otro archivo ubicado aquí, httpd-mpm.conf
. Este archivo contiene secciones de configuraciones relacionadas con MPM con 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
lo anterior es un error tipográfico; en mi caso ejecuto apachectl -V
, el cual me dice:
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
Entonces consulto la sección de httpd-mpm.conf
perteneciente aMPM prehorquilla, que contiene:
# 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>```