🛠 Héberger un serveur web léger sur 256 MB de RAM

Raspberry Pi Model B (Rev 1, 2012) — Ficha de placa · avance · Schéma : IMG-model-b-rev1-avance-3-modelb1-serveur-web-leger.svg — Model B Rev 1 en serveur, câble Ethernet vers le routeur, navigateur d'un ordinateur affichant une page servie par lighttpd, jauge de RAM 256 MB mise en avant

Objetivos

Transformar el Model B Rev 1 en un pequeño servidor web permanente, teniendo en cuenta sus dos cuellos de botella: 256 MB de RAM compartida entre CPU/GPU y Ethernet 10/100 detrás del chip LAN9512. Apache está excluido; se elige lighttpd (o busybox httpd) con algunas páginas estáticas y un endpoint de estado. Aprenderás a dimensionar gpu_mem, servir mediante systemd y medir el rendimiento real.

Hardware

Código completo

# 1) Liberer de la RAM pour le CPU : /boot/config.txt -> gpu_mem=16
#    (pas d'usage GPU prevu), puis sudo reboot

# 2) Installer et demarrer lighttpd
sudo apt install -y lighttpd
sudo systemctl enable --now lighttpd

# 3) Page de statut dynamique (CGI shell minimal)
sudo mkdir -p /srv/www && echo 'server.document-root = "/srv/www"' | sudo tee /etc/lighttpd/conf-enabled/99-site.conf
printf '#!/bin/sh\necho "Content-Type: text/plain"\necho\nvcgencmd measure_temp\nvcgencmd measure_clock arm\nfree -m | head -2\n' | sudo tee /srv/www/status.cgi
sudo chmod +x /srv/www/status.cgi
echo 'cgi.assign = ( ".cgi" => "" )' | sudo tee -a /etc/lighttpd/conf-enabled/99-site.conf
sudo systemctl restart lighttpd

# 4) Tester depuis un autre poste
curl http://192.168.1.50/status.cgi

# 5) Debit reel (test depuis le PC, attendez-vous a ~5-9 MB/s max)
scp page-test-10Mo.bin pi@192.168.1.50:/tmp/

Verificación esperada

curl 1 devuelve la temperatura, la frecuencia del reloj ARM y la memoria libre. free -m` muestra 150-200 MB disponibles solo con lighttpd. El servidor permanece estable en servicio permanente; el rendimiento de transferencia se limita a unos pocos MB/s, coherente con el Ethernet 100 Mbps compartido con el USB.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales