mpm_common - Servidor HTTP Apache

Apache Server 2.0

<-

Directivas Comunes de los MPM de Apache

Esta traducción podría estar obsoleta. Consulte la versión en inglés de la documentación para comprobar si se han producido cambios recientemente.
Descripción:Es una colección de directivas que están implementadas en más de un módulo de multiprocesamiento (MPM)
Estado:MPM
top

AcceptMutex Directiva

Descripción:Método que usa Apache para serializar múltiples procesos hijo que aceptan peticiones en las conexiones de red
Sintaxis:AcceptMutex Default|method
Valor por defecto:AcceptMutex Default
Contexto:server config
Estado:MPM
Módulo:leader, perchild, prefork, threadpool, worker

Las directivas AcceptMutex determinan el método que usa Apache para serializar múltiples procesos hijo que aceptan peticiones en las conexiones de red. En las versiones de Apache anteriores a la 2.0, el método era seleccionable solo cuando se compilaba el servidor. El mejor método a usar depende mucho de la arquitectura y de la plataforma que use. Si desea más información, consulte la documentanción sobre ajustes para conseguir un mejor rendimiento.

Si el valor especificado en esta directiva es Default, entonces se usará el método seleccionado cuando se compiló el servidor. Más abajo puede encontrar una lista con otros métodos. Tenga en cuenta que no todos los métodos están disponibles en todas las plataformas. Si el método especificado no está disponible, se escribirá un mensaje en el log de errores con una lista de los métodos que puede usar.

flock
usa la llamada al sistema flock(2) para bloquear el fichero especificado en la directiva LockFile.
fcntl
usa la llamada al sistema fcntl(2) para bloquear el fichero especificado en la directiva LockFile.
posixsem
usa semáforos compatibles con POSIX para implementar el mutex.
pthread
Usa mutexes POSIX implementados según la especificación de hebras POSIX (PThreads).
sysvsem
usa semáforos de tipo SySV para implementar el mutex.

Si quiere ver cuál es el método por defecto que se seleccionó para usar en su sistema al compilar, especifique el valor debug en la directiva LogLevel. El valor por defecto de la directiva AcceptMutex aparecerá escrito en el ErrorLog.

top

BS2000Account Directiva

Descripción:Define la cuenta sin privilegios en máquinas BS2000
Sintaxis:BS2000Account account
Contexto:server config
Estado:MPM
Módulo:perchild, prefork
Compatibilidad:Solo disponible en máquinas BS2000

La directiva BS2000Account está disponible solo en hosts BS2000. Debe usarse para definir el número de cuenta del usuario sin privilegios del servidor Apache (que se configuró usando la directiva User). Esto es un requerimiento del subsistema POSIX BS2000 (@@@@@ para reemplazar el entorno de tareas BS2000 subyaciente haciendo un sub-LOGON) para prevenir que scripts CGI accedan a recursos de la cuenta con privilegios con la que se suele iniciar el servidor, normalmente SYSROOT.

Nota

La directiva BS2000Account solamente puede usarse una vez.

Consulte también

top

CoreDumpDirectory Directiva

Descripción:Directorio al que Apache intenta cambiarse antes de realizar un volcado de memoria
Sintaxis:CoreDumpDirectory directory
Valor por defecto:Consulte la sección de uso para ver el valor por defecto
Contexto:server config
Estado:MPM
Módulo:beos, leader, mpm_winnt, perchild, prefork, threadpool, worker

Esta directiva controla el directorio al cual intenta cambiarse Apache antes de realizar un volcado de memoria. Por defecto, el volcado de memoria se hace en el directorio especificado en la directiva ServerRoot, sin embargo, como el usuario con el que se está ejecutando Apache podría no tener permisos para escribir en ese directorio, los volcados de memoria muchas veces no se hacen en ningún sitio. Si quiere que el volcado se memoria se guarde para analizar los fallos posteriormente, puede usar esta directiva para especificar un directorio diferente.

Volcados de memoria en Linux

Si Apache se inicia como usuario root y después se cambia el usuario con el se está ejecutando, el kernel de Linux desactiva los volcados de memoria, incluso si se ha especificado un directorio en el que se puede escribir para realizar este proceso. Apache (en las versiones 2.0.46 y posteriores) reactiva los volcados de memoria en los sistemas con versiones Linux 2.4 y posteriores, pero solamente si se ha configurado explícitamente la directiva CoreDumpDirectory.

top

EnableExceptionHook Directiva

Descripción:Activa un hook que inicia handlers de excepción después de un error irrecuperable
Sintaxis:EnableExceptionHook On|Off
Valor por defecto:EnableExceptionHook Off
Contexto:server config
Estado:MPM
Módulo:leader, perchild, prefork, threadpool, worker
Compatibilidad:Disponible en las versiones de Apache 2.0.49 y posteriores

Por razones de seguridad esta directiva está disponible solamente si el servidor ha sido configurado con la opción --enable-exception-hook. Esto activa un hook que permite que se conecten módulos externos y que realicen alguna acción después de que un proceso hijo sufra un error irrecuperable.

Hay otros dos módulos, mod_whatkilledus y mod_backtrace que usan este hook. Por favor, consulte el siguiente enlace, EnableExceptionHook perteneciente al sitio web de Jeff Trawick para obtener más información sobre el tema.

top

Group Directiva

Descripción:Grupo con el que el servidor atenderá las peticiones
Sintaxis:Group unix-group
Valor por defecto:Group #-1
Contexto:server config
Estado:MPM
Módulo:beos, leader, mpmt_os2, perchild, prefork, threadpool, worker
Compatibilidad:Solamente puede usarse en global server config a partir de la versión de Apache 2.0

La directiva Group determina el grupo con el que el servidor atenderá las peticiones. Para usar esta directiva, el servidor debe haber sido iniciado con el usuario root. Si inicia el servidor con un usuario que no sea root, el servidor no podrá cambiarse al grupo especificado, en lugar de esto continuará ejecutándose con el grupo del usuario que lo inició. Unix-group debe tomar un de los siguiente valores:

El nombre de un grupo
Se refiere al grupo que lleva el nombre que se especifica.
# seguido del número de un grupo.
Se refiere al grupo asociado a ese número.

Por ejemplo

Group www-group

Se recomienda que cree un nuevo grupo específicamente para ejecutar el servidor. Algunos administradores usan el ususario nobody, pero esto no es siempre posible ni aconsejable.

Seguridad

No ponga el valor root en la directiva Group (o en la directiva User) a menos que sepa exactamente lo que está haciendo y los peligros que conlleva.

Importante: El uso de esta directiva en <VirtualHost> no está permitido ya. Para configurar su servidor para suexec use la directiva SuexecUserGroup.

Nota

Aunque la directiva Group está presente en los módulos MPM beos y mpmt_os2, no están operativas y solamente están presentes por razones de compatibilidad.

top

Listen Directiva

Descripción:Direcciones IP y puertos en los que escucha el servidor
Sintaxis:Listen [IP-address:]portnumber
Contexto:server config
Estado:MPM
Módulo:beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker
Compatibilidad:Directiva de uso obligatorio en Apache 2.0

La directiva Listen indica las direcciones IP y los puertos en los que debe escuchar Apache; por defecto, el servidor responde a las peticiones que se reciban en cualquier dirección IP de las interfaces de red. El uso de Listen es ahora obligatorio. Si no está en el fichero de configuración, el servidor no podrá iniciarse. Esto supone un cambio respecto a las versiones anteriores de Apache.

La directiva Listen le especifica al servidor los puertos o las combinaciones de direcciones y puertos cuyas peticiones debe aceptar. Si solamente se especifica un número de puerto, el servidor escuchará en ese puerto, en todas las interfaces de red. Si se especifica una dirección IP y un puerto, el servidor escuchará solamente en esa dirección IP y en ese puerto.

Se pueden usar varias directivas Listen para especificar varias direcciones y puertos de escucha. El servidor responderá a peticiones de cualquiera de esas direcciones y puertos.

Por ejemplo, para hacer que el servidor acepte conexiones en los puertos 80 y 8000, use:

Listen 80
Listen 8000

Para hacer que el servidor acepte conexiones en dos direcciones y puertos difrentes, use

Listen 192.170.2.1:80
Listen 192.170.2.5:8000

Las direcciones IPv6 deben escribirse entre corchetes, como en el siguiente ejemplo:

Listen [2001:db8::a00:20ff:fea7:ccea]:80

Condición de error

Varias directivas Listen para la misma dirección IP y el mismo puerto tendrán como resultado un mensaje de error del tipo Dirección actualmente en uso.

Consulte también

top

ListenBackLog Directiva

Descripción:Longitud máxima de la cola de conexiones en espera
Sintaxis:ListenBacklog backlog
Valor por defecto:ListenBacklog 511
Contexto:server config
Estado:MPM
Módulo:beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker

Longitud máxima de la cola de conexiones en espera. En general, no es necesario ni deseable hacer ninguna modificación, pero en algunos sistemas es beneficioso incrementar esta longitud cuando se está sufriendo un ataque TCP SYN flood. Consulte la información sobre el parámetro backlog de la llamada al sistema listen(2).

Este número estará la mayor parte de las veces limitado a un valor aún menor por el sistema operativo. Esto varía de un sistema operativo a otro. Tenga en cuenta también que muchos sistemas operativos no usan exactamente lo que se especifica en el backlog, sino que usan un número basado en el valor especificado (aunque normalmente mayor).

top

LockFile Directiva

Descripción:Ubicación del fichero de lock de serialización de aceptacioón de peticiones
Sintaxis:LockFile filename
Valor por defecto:LockFile logs/accept.lock
Contexto:server config
Estado:MPM
Módulo:leader, perchild, prefork, threadpool, worker

La directiva LockFile especifica la ruta al archivo de lock (lockfile) que se utiliza cuando la directiva AcceptMutex tiene valor fcntl o flock. En principio no se debe modificar el valor por defecto de esta directiva. La razón principal para moficiarlo es que el directorio de logs esté montado en NFS, porque el archivo de lock debe almacenarse en un disco local. El PID del proceso principal del servidor se añade automáticamente al nombre del fichero.

Seguridad

Es aconsejable no poner este fichero en un directorio en el que tenga permisos de escritura todos los usuarios como /var/tmp porque alguien podría provocar un ataque de denegación de servicio y evitar que el servidor se inicie creando un archivo de lock con el mismo nombre que el que el servidor intentará crear.

Consulte también

top

MaxClients Directiva

Descripción:Número máximo de procesos hijo que serán creados para atender peticiones
Sintaxis:MaxClients number
Valor por defecto:Consulte la sección de uso para obtener más información
Contexto:server config
Estado:MPM
Módulo:beos, leader, prefork, threadpool, worker

La directiva MaxClients especifica el límite de peticiones simultáneas que serán atendidas. Cualquier intento de conexión por encima del límite MaxClients se pondrá en cola, hasta llegar a un límite basado en el valor de la directiva ListenBacklog. Una vez que un proceso hijo termina de atender una petición y queda libre, se atenderá una conexión en cola.

En servidores que no usan hebras (por ejemplo, prefork), el valor especificado en MaxClients se traduce en el número máximo de procesos hijo que se crearán para atender peticiones. El valor por defecto es 256; para incrementarlo, debe incrementar también el valor especificado en la directiva ServerLimit.

En servidores que usan hebras y en servidores híbridos (por ejemplo, beos o worker) MaxClients limita el número total de hebras que van a estar disponibles para servir clientes. El valor por defecto para beos es 50. Para MPMs híbridos el valor por defecto es 16 (ServerLimit) multiplicado por 25 (ThreadsPerChild). Por lo tanto, si va a usar en MaxClients un valor que requiera más de 16 procesos deberá también incrementar el valor de la directiva ServerLimit.

top

MaxMemFree Directiva

Descripción:Cantidad máxima de memoria que el asignador principal puede tomar sin hacer una llamada a free()
Sintaxis:MaxMemFree KBytes
Valor por defecto:MaxMemFree 0
Contexto:server config
Estado:MPM
Módulo:beos, leader, mpm_netware, prefork, threadpool, worker, mpm_winnt

La directiva MaxMemFree especifica el número máximo de kbytes libres que el asignador de memoria principal puede tomar sin hacer una llamada al sistema free(). Cuando no se especifica ningún valor en esta directiva, o cuando se especifica el valor cero, no existirá tal límite.

top

MaxRequestsPerChild Directiva

Descripción:Límite en el número de peticiones que un proceso hijo puede atender durante su vida
Sintaxis:MaxRequestsPerChild number
Valor por defecto:MaxRequestsPerChild 10000
Contexto:server config
Estado:MPM
Módulo:leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker

La directiva MaxRequestsPerChild especifica el número máximo de peticiones que un proceso hijo atenderá durante su existencia. Después de atender MaxRequestsPerChild peticiones, el proceso hijo se eliminará. Si el valor especificado en esta directiva MaxRequestsPerChild es 0, no habrá límite.

Diferentes valores por defecto

El valor por defecto para los módulos mpm_netware y mpm_winnt es 0.

Especificar en la directiva MaxRequestsPerChild un valor distinto de cero tiene dos ventajas:

  • limita la cantidad de memoria que un proceso puede consumir en caso de que haya un fuga (accidental) de memoria;
  • establece un límite finito a la vida de los procesos, lo que ayuda a reducir el número existente de procesos cuando se reduce la carga de trabajo en el servidor.

Nota

Para las peticiones KeepAlive, solamente la primera petición cuenta para este límite. De hecho, en ese caso lo que se limita es el número de conexiones por proceso hijo.

top

MaxSpareThreads Directiva

Descripción:Número máximo de hebras en espera
Sintaxis:MaxSpareThreads number
Valor por defecto:Consulte la sección de uso para obtener más información
Contexto:server config
Estado:MPM
Módulo:beos, leader, mpm_netware, mpmt_os2, perchild, threadpool, worker

Número máximo de hebras en espera. Los diferentes MPMs tienen diferentes comportamientos respecto a esta directiva.

En el módulo perchild el valor por defecto usado es MaxSpareThreads 10. Este MPM monitoriza el número de hebras en espera por proceso hijo. Si hay demasiadas hebras en espera en un proceso hijo, el servidor empezará a eliminar las hebras de sobra.

En los módulos worker, leader y threadpool el valor por defecto usado es MaxSpareThreads 250. Estos MPMs monitorizan el número del hebras en espera en servidor en conjunto. Si hay demasiadas hebras en espera en el servidor, se eliminan algunos procesos hijo hasta que el número de hebras en espera se ajuste al límite especificado.

En el módulo mpm_netware el valor por defecto usado es MaxSpareThreads 100. Como este MPM ejecuta único proceso, las hebras en espera se calculan también en base al servidor en conjunto.

Los módulos beos y mpmt_os2 funcionan de manera similar a mpm_netware. El valor por defecto para beos es MaxSpareThreads 50. Para mpmt_os2 el valor por defecto es 10.

Restricciones

El rango de valores que puede tomar MaxSpareThreads está acotado. Apache corregirá automáticamente el valor especificado de acuerdo con las siguientes reglas:

Consulte también

top

MinSpareThreads Directiva

Descripción:Número mínimo de hebras en espera para atender picos de demanda en las peticiones
Sintaxis:MinSpareThreads number
Valor por defecto:Consulte la sección de uso para obtener más información
Contexto:server config
Estado:MPM
Módulo:beos, leader, mpm_netware, mpmt_os2, perchild, threadpool, worker

Número mínimo de hebras en espera para atender picos de demanda en las peticiones. Los diferentes MPMs tratan esta directiva de forma diferente.

El módulo perchild usa por defecto MinSpareThreads 5 y calcula el número de hebras en espera en base al número de procesos hijo. Si no hay suficientes hebras en espera en un proceso hijo, el servidor empezará a crear nuevas hebras dentro de ese proceso hijo. De esta manera, si especifica en la directiva NumServers el valor 10 y en la directiva MinSpareThreads un valor de 5, tendrá como mínimo 50 hebras en espera en su sistema.

Los módulos worker, leader y threadpool usan un valor por defecto MinSpareThreads 75 y calculan el número de hebras en espera en el servidor en conjunto. Si no hay suficientes hebras en espera en el servidor, entonces se crean procesos hijo hasta que el número de hebras en espera sea suficiente.

El módulo mpm_netware usa un valor por defecto MinSpareThreads 10 y como es un MPM que trabaja con un único proceso, calcula el número de hebras en espera en base al número total que hay en el servidor.

Los módulos beos y mpmt_os2 funcionan de modo similar a como lo hace el módulo mpm_netware. El valor por defecto que usa beos es MinSpareThreads 1. mpmt_os2 usa por defecto el valor 5.

Consulte también

top

PidFile Directiva

Descripción:Fichero en el que el servidor guarda el ID del proceso demonio de escucha (daemon)
Sintaxis:PidFile filename
Valor por defecto:PidFile logs/httpd.pid
Contexto:server config
Estado:MPM
Módulo:beos, leader, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker

La directiva PidFile especifica el fichero en el que el servidor guarda el ID del proceso demonio de escucha (daemon). Si el nombre del fichero especificado no es una ruta absoluta, entonces se asume que es relativa al directorio especificado en ServerRoot.

Ejemplo

PidFile /var/run/apache.pid

Con frecuencia es útil tener la posibilidad de enviar al servidor una señal, de manera que cierre y vuelva a abrir el ErrorLog y el TransferLog, y vuelva a leer los ficheros de configuración. Esto es lo que ocurre cuando se envía la señal SIGHUP (kill -1) al ID del proceso que aparece en PidFile.

El PidFile está sujeto a las mismas advertencias que se hicieron para los ficheros log sobre su ubicación y sobre su seguridad.

Nota

Se recomienda que para Apache 2 se use solamente el script apachectl para (re-)iniciar o parar el servidor.

top

ReceiveBufferSize Directiva

Descripción:TCP receive buffer size
Sintaxis:ReceiveBufferSize bytes
Valor por defecto:ReceiveBufferSize 0
Contexto:server config
Estado:MPM
Módulo:beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker

The documentation for this directive has not been translated yet. Please have a look at the English version.

top

ScoreBoardFile Directiva

Descripción:Ubicación del fichero que almacena los datos necesarios para coordinar el funcionamiento de los procesos hijo del servidor
Sintaxis:ScoreBoardFile file-path
Valor por defecto:ScoreBoardFile logs/apache_status
Contexto:server config
Estado:MPM
Módulo:beos, leader, mpm_winnt, perchild, prefork, threadpool, worker

Apache usa un marcador para que los procesos hijo se comuniquen con sus procesos padre. Algunas arquitecturas necesitan un archivo para facilitar esta comunicación. Si no se especifica ningún fichero, Apache intenta en primer lugar crear el marcador en memoria (usando memoria compartida anónima) y, si esto falla, intentará crear el fichero en disco (usando memoria compartida basada en ficheros). Si se especifica un valor en esta directiva, Apache creará directamente el archivo en disco.

Ejemplo

ScoreBoardFile /var/run/apache_status

El uso de memoria compartida basada en ficheros es útil para aplicaciones de terceras partes que necesitan acceso directo al marcador.

Si usa la directiva ScoreBoardFile, puede mejorar la velocidad del servidor poniendo el fichero en memoria RAM. Pero tenga cuidado y siga las mismas recomendaciones acerca del lugar donde se almacenan los ficheros log y su seguridad.

Consulte también

top

SendBufferSize Directiva

Descripción:Tamaño del buffer TCP
Sintaxis:SendBufferSize bytes
Valor por defecto:SendBufferSize 0
Contexto:server config
Estado:MPM
Módulo:beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker

El servidor fijará el tamaño del buffer TCP en los bytes que se especifiquen en esta directiva. Incrementar este valor por encima de los valores estándar del sistema operativo es muy útil en situaciones de alta velocidad y gran latencia (por ejemplo, 100ms o así, como en el caso de conexiones intercontinentales de gran capacidad).

Si se especifica el valor 0, el servidor usará el valor por defecto del sistema operativo.

top

ServerLimit Directiva

Descripción:Límite superior del número configurable de procesos
Sintaxis:ServerLimit number
Valor por defecto:Consulte la sección de uso para obtener más información
Contexto:server config
Estado:MPM
Módulo:leader, perchild, prefork, threadpool, worker

En el módulo MPM prefork, esta directiva significa el valor máximo que se puede especificar en la directiva MaxClients sobre el tiempo de vida de un proceso de Apache. En el módulo MPM worker, esta diretiva en combinación con la directiva ThreadLimit significa el valor máximo que puede especificarse en la directiva MaxClients sobre el tiempo de vida de un proceso de Apache. Los intententos de cambiar el valor de esta directiva durante el reinicio del servidor serán ignorados. El valor de MaxClients sí que puede modificarse durante el reinicio.

Cuando se usa esta directiva hay que tener especial cuidado. Si en la directiva ServerLimit se especifica un valor mucho más alto de lo necesario, se reservará memoria compartida que no será usada. Si ambas directivas ServerLimit y MaxClients tienen especificados valores mayores que los que el sistema puede manejar, Apache puede que no se inicie o que el sistema se vuelva inestable.

Con el módulo MPM prefork, use esta directiva solamente si necesita especificar en la directiva MaxClients un valor mayor a 256 (el valor por defecto). No especifique un valor mayor del que vaya a especificar en la directiva MaxClients.

Con los módulos worker, leader y threadpool use esta directiva solamente si los valores especificados en las directivas MaxClients y ThreadsPerChild precisan más de 16 procesos del servidor (valor por defecto). No especifique en esta directiva un valor mayor que el número de procesos del servidor requeridos por lo especificado en las directivas MaxClients y ThreadsPerChild.

Con el MPM perchild, use esta directiva solo si tiene que especificar en la directiva NumServers un valor mayor de 8 (el valor por defecto).

Nota

Existe un límite inviolable compilado en el servidor que es ServerLimit 20000. Con este límite se intentan evitar las consecuencias que pueden tener los errores tipográficos.

Consulte también

top

StartServers Directiva

Descripción:Número de procesos hijo del servidor que se crean al iniciar Apache
Sintaxis:StartServers number
Valor por defecto:Consulte la sección de uso para obtener más información
Contexto:server config
Estado:MPM
Módulo:leader, mpmt_os2, prefork, threadpool, worker

La directiva StartServers especifica el número de procesos hijo que se crean al iniciar Apache. Como el número de procesos está controlado dinámicamente según la carga del servidor, no hay normalmente ninguna razón para modificar el valor de este parámetro.

El valor por defecto cambia según el MPM de que se trate. Para leader, threadpool y worker el valor por defecto es StartServers 3. Para prefork el valor por defecto es 5 y para mpmt_os2 es 2.

top

StartThreads Directiva

Descripción:Número de hebras que se crean al iniciar Apache
Sintaxis:StartThreads number
Valor por defecto:Consulte la sección de uso para obtener más información
Contexto:server config
Estado:MPM
Módulo:beos, mpm_netware, perchild

Número de hebras que se crean al iniciar Apache. Como el número de procesos está controlado dinámicamente según la carga del servidor, no hay normalmente ninguna razón para modificar el valor de este parámetro.

En el módulo perchild el valor por defecto es StartThreads 5 y esta directiva controla el número de hebras por proceso al inicio.

En el módulo mpm_netware el valor por defecto es StartThreads 50 y, como solamente hay un proceso, este es el número total de hebras creadas al iniciar el servidor para servir peticiones.

En el módulo beos el valor usado por defecto es StartThreads 10. En este caso también representa el número total de hebras creadas al iniciar el servidor para servir peticiones.

top

ThreadLimit Directiva

Descripción:Marca el límite superior del número de hebras por proceso hijo que pueden especificarse
Sintaxis:ThreadLimit number
Valor por defecto:Consulte la sección de uso para obtener más información
Contexto:server config
Estado:MPM
Módulo:leader, mpm_winnt, perchild, threadpool, worker
Compatibilidad:Disponible para mpm_winnt en las versiones de Apache 2.0.41 y posteriores

Esta directiva determina el valor máximo que puede especificarse en la directiva ThreadsPerChild para el tiempo de vida de un proceso de Apache. Los intentos por modificar este valor durante un reinicio serán ingnorados, pero el valor de la directiva ThreadsPerChild puede modificarse durante un reinicio hasta un valor igual al de esta directiva.

Cuando se usa esta directiva hay que poner especial atención. Si en la directiva ThreadLimit se especifica un valor mucho más grande que en ThreadsPerChild, se reservará memoria compartida en exceso que no será usada. Si tanto en ThreadLimit como en ThreadsPerChild se especifican valores mayores de los que el sistema puede tratar, Apache podría no iniciarse o su funcionamiento podría volverse inestable. No especifique en esta directiva un valor mayor del mayor valor posible que piense que va a especificar en ThreadsPerChild para la ejecución de Apache de ese momento.

El valor por defecto de la directiva ThreadLimit es 1920 cuando se usa con mpm_winnt y 64 en otro caso.

Nota

Hay un límite estricto compilado en el servidor: ThreadLimit 20000 (o ThreadLimit 15000 si usa mpm_winnt). Este límite existe para evitar los efectos que pueden ser provocados por errores tipográficos.

top

ThreadsPerChild Directiva

Descripción:Número de hebras creadas por cada proceso hijo
Sintaxis:ThreadsPerChild number
Valor por defecto:Consulte la sección de uso para obtener más información
Contexto:server config
Estado:MPM
Módulo:leader, mpm_winnt, threadpool, worker

Esta directiva especifica el número de hebras creadas por cada proceso hijo. El proceso hijo crea estas hebras al inicio y no vuelve a crear más. Si se usa un MPM como mpm_winnt, en el que solamente hay un proceso hijo, este número debería ser lo suficientemente grande como para atender toda la carga del servidor. Si se usa un módulo MPM como worker, en el que hay múltiples procesos hijo, el número total de hebras debería ser lo suficientemente grande como para atender la carga en circustancias normales del servidor.

El valor por defecto de la directiva ThreadsPerChild es 64 cuando se usa mpm_winnt y 25 en otro caso.

top

User Directiva

Descripción:Nombre de usuario con el que el servidor responderá a las peticiones
Sintaxis:User unix-userid
Valor por defecto:User #-1
Contexto:server config
Estado:MPM
Módulo:leader, perchild, prefork, threadpool, worker
Compatibilidad:Válida solamente en global server config a partir de la versión de Apache 2.0

La directiva User especifica el identificador de usuario con el que el servidor responderá a las peticiones. Para usar esta directiva, el servidor debe haber sido iniciado como root. Si se inicia Apache con un usario distinto de root, no se podrá cambiar a un usuario con menores privilegios, y el servidor continuará ejecutándose con el usuario original. Si inicia el servidor como root, entonces es normal que el procedimiento padre siga ejecutándose como root. Unix-userid puede tomar uno de los siguientes valores:

Un nombre de ususario
Se refiere al usuario dado por su nombre.
# seguido por un número de usuario.
Se refiere al usuario que corresponde a ese número.

El usuario debe no tener privilegios suficientes para acceder a ficheros que no deban ser visibles para el mundo exterior, y de igual manera, el usuario no debe ser capaz de ejecutar código que no sea susceptible de ser objeto de respuestas a peticiones HTTP. Se recomienda que especifique un nuevo usuario y un nuevo grupo solamente para ejecutar el servidor. Algunos administradores usan el usuario nobody, pero esto no es siempre deseable, porque el usuario nobody puede tener otras funciones en su sistema.

Seguriad

No espcifique en la directiva User (o Group) el valor root a no ser que sepa exactamente lo que está haciendo, y cuáles son los peligros.

Con el MPM perchild, que está diseñado para ejecutar hosts virtuales por diferentes ID de usuario, la directiva User define el ID de usuario para el servidor principal y para el resto de las secciones <VirtualHost> sin una directiva AssignUserID.

Nota especial: El uso de esta directiva en <VirtualHost> no está ya soportado. Para configurar su servidor para suexec use SuexecUserGroup.

Nota

Aunque la directiva User está presente en los MPMs beos y mpmt_os2 MPMs, no está operativa y solamente está presente por razones de compatibilidad.