🛠 Héberger un serveur web léger

Raspberry Pi 3 Model B (model-3b) · avance · Schéma : IMG-model-3b-avance-3-model3b-serveur-web-leger.svg — Raspberry Pi 3 Model B servant un site statique sur le port 8080, service systemd, clients du réseau local connectés par Ethernet/Wi-Fi, contrainte mémoire 1 Go rappelée

Objectifs

Transformer le Raspberry Pi 3 Model B en petit serveur web permanent : servir un site statique, l'encapsuler dans un service systemd (démarrage automatique + redémarrage en cas de crash), et respecter la contrainte mémoire de 1 Go qui impose des serveurs légers. C'est la brique de base d'un dashbord domestique, d'un Pi-hole-like ou d'un mirroir connecté.

Matériel

Code complet

# 1) Dossier du site
mkdir -p ~/site && echo '<h1>Pi 3B opérationnel</h1>' > ~/site/index.html

# 2) Service systemd — serveur Python intégré, port 8080
sudo tee /etc/systemd/system/pisite.service <<'EOF'
[Unit]
Description=Site statique du Pi 3B
After=network-online.target

[Service]
User=pi
WorkingDirectory=/home/pi/site
ExecStart=/usr/bin/python3 -m http.server 8080 --bind 0.0.0.0
Restart=always
RestartSec=3
MemoryMax=200M

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now pisite
sudo systemctl status pisite --no-pager

# 3) Test local puis distant
curl -s http://localhost:8080/ | head -1
#   depuis un autre poste : curl http://raspberrypi.local:8080/

Vérification attendue

systemctl status pisite affiche active (running). curl 2 renvoie le <h1> du site, et depuis un autre poste du réseau http://raspberrypi.local:8080/ affiche la page dans le navigateur. Après kill du processus, systemd le relance en 3 s. systemd-run/free -m montre l'empreinte mémoire sous la limite MemoryMax=200M`. Après redémarrage complet, le service remonte tout seul.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels