Estoy tratando de ejecutar lighttpd (1.4.35) dentro de un contenedor Docker para servir un sitio web estático de gran volumen (sin PHP, et al). Después de un minuto de ejecución, el registro de errores se llena con:
(server.c.1444) [nota] sockets deshabilitados, límite de conexión alcanzado
Aumenté los límites para root en /etc/security/limits.conf (y reinicié):
root soft nofile 4096 root hard nofile 32768 Y en mi docker-compose.yml (equivalente a --ulimit en la línea de comando):
ulimits: nofile: soft: 4096 hard: 32768 Y en mi lighttpd.conf :
server.max-fds = 8192 server.max-connections = 4096 Pero cuando ejecuto lsof -n | grep -c lighttpd no obtengo más de 128. Si entro en el contenedor y ejecuto ulimit -n obtengo 4096, como se esperaba. Ejecutar ulimit -a devuelve:
core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 128490 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 4096 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) unlimited virtual memory (kbytes, -v) unlimited file locks (-x) unlimited¿Qué más me estoy perdiendo? ¿Cómo hago para que lighttpd acepte más de 128 conexiones?