Corriendo un servidor web mínimo con Busybox


Busybox es un paquete de software que proporciona varias utilidades de linux en un solo archivo ejecutable muy pequeño, corriendo debian en WSL el tamaño de la aplicación es apenas 837Kb. Una de las utilidades que vienen en la aplicación es un servidor http liviano, muy adecuado para sistemas integrados o aplicaciones domésticas.

Si está buscando una alternativa a nginx o lighthttp para un proyecto pequeño y deseas probar un servidor web pequeño con un consumo mínimo de memoria, definitivamente deberías intentarlo.

Instalación

Si usas debian, en una terminal es tan sencillo como escribir el comando

sudo apt install busybox

Iniciando el proceso

Para iniciar el servidor en el puerto 80 por defecto, el comando es

sudo busybox httpd

de esta manera empezará a servir los archivos que se encuentran en el directorio actual de manera estática. El directorio raíz y el puerto se pueden configurar, si por ejemplo, queremos servir los archivos del directorio /www/data en el puerto 8080, el comando es

sudo busybox httpd -h /www/data -p 8080

Verficando que el proceso está en ejecución

Si el proceso está escuchando en el puerto 80, desde Debian es suficiente con utilizar el comando fuser de la siguiente manera,

sudo fuser 80/tcp

Terminando el proceso

Si queremos detener el servidor y se encuentre corriendo en el puerto 80, el comando es

sudo fuser -k 80/tcp

Aplicaciones

Una de las ventajas de este servidor web es su tamaño pequeño, como dijmos es ideal para utilizarlo en dispositivos como una raspberry pi, para proyectos caseros o de la escuela. Es tan liviano que incluso se puede instalar en un teléfono con Android.

Por último, a busybox también le llaman la navaja suiza de Linux, porque en una sola aplicación muy pequeña, viene un conjunto muy completo de utilidades para la consola de comandos, por ejemplo, la distribución Alpine Linux, muy popular en Windows Subsystem for Linux por su tamaño pequeño, se basa en este ejecutable.