Las directivas
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
flock(2)
para bloquear el fichero especificado en
la directiva fcntl
fcntl(2)
para bloquear el fichero especificado en
la directiva posixsem
pthread
sysvsem
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
La directiva SYSROOT
.
La directiva
BS2000Account
solamente puede usarse una vez.
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
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
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.
La directiva 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:
#
seguido del número de un grupo.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.
No ponga el valor
root
en la directiva
Importante: El uso de esta directiva en
Aunque la directiva
La directiva
Con frecuencia es útil tener la posibilidad de enviar al
servidor una señal, de manera que cierre y vuelva a abrir el
El
Se recomienda que para Apache 2 se
use solamente el script
La directiva
La directiva
Se pueden usar varias directivas
Por ejemplo, para hacer que el servidor acepte conexiones en los puertos 80 y 8000, use:
Para hacer que el servidor acepte conexiones en dos direcciones y puertos difrentes, use
Las direcciones IPv6 deben escribirse entre corchetes, como en el siguiente ejemplo:
Dirección actualmente en uso
.
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).
La directiva 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.
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.
La directiva
En servidores que no usan hebras (por ejemplo,
256
; para
incrementarlo, debe incrementar también el valor especificado
en la directiva
En servidores que usan hebras y en servidores híbridos
(por ejemplo, 50
. Para
MPMs híbridos el valor por defecto es 16
(25
(
free()
La directiva free()
. Cuando no se especifica ningún valor en esta
directiva, o cuando se especifica el valor cero, no existirá tal
límite.
La directiva 0
, no
habrá límite.
El valor por defecto para los módulos
0
.
Especificar en la directiva
Para las peticiones
Número máximo de hebras en espera. Los diferentes MPMs tienen diferentes comportamientos respecto a esta directiva.
En el módulo 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 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 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 MaxSpareThreads 50
. Para 10
.
El rango de valores que puede tomar
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 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 10
y en la directiva 5
, tendrá como mínimo 50 hebras en
espera en su sistema.
Los módulos 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 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 MinSpareThreads 1
.
5
.
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.
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
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.
En el módulo MPM
Cuando se usa esta directiva hay que tener especial cuidado.
Si en la directiva
Con el módulo MPM
Con los módulos
Con el MPM
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.
La directiva
El valor por defecto cambia según el MPM de que se trate. Para
StartServers
3
. Para 5
y para 2
.
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 StartThreads 5
y esta directiva controla el número de
hebras por proceso al inicio.
En el módulo 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 StartThreads 10
. En este caso también
representa el número total de hebras creadas al iniciar el
servidor para servir peticiones.
Esta directiva determina el valor máximo que puede especificarse
en la directiva
Cuando se usa esta directiva hay que poner especial
atención. Si en la directiva
El valor por defecto de la directiva
1920
cuando se
usa con 64
en otro caso.
Hay un límite estricto compilado
en el servidor: ThreadLimit 20000
(o
ThreadLimit 15000
si usa
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
El valor por defecto de la directiva
64
cuando
se usa 25
en otro caso.
La directiva 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:
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.
No espcifique en la directiva root
a no ser que sepa exactamente lo que está
haciendo, y cuáles son los peligros.
Con el MPM
Nota especial: El uso de esta directiva en
Aunque la directiva