Serveur web Nginx sur Raspberry Pi : guide

Ce guide pratique explique comment monter un serveur web Nginx sur un Raspberry Pi et décrit les étapes concrètes d’installation.

Il met l’accent sur la configuration, la liaison avec PHP-FPM et les vérifications utiles pour la mise en service rapide.

A retenir :

  • Réactivité accrue pour serveurs peu puissants et charges modérées
  • Consommation mémoire réduite adaptée aux Raspberry Pi 512 Mo
  • Gestion fine des hôtes virtuels et reverse proxy intégré
  • Configuration centralisée sans .htaccess, administration serveur plus sûre

Installation Nginx sur Raspberry Pi : commandes et vérifications

Après avoir identifié les avantages cités plus haut, la première étape consiste à installer Nginx sur Raspbian pour libérer des ressources système.

Cette section détaille les commandes apt, l’ajout de php-fpm et les vérifications initiales à exécuter pour valider l’installation.

Préparation du système et désactivation d’Apache

Pour commencer, désactivez Apache s’il est présent pour éviter les conflits de ports et services concurrents sur la machine.

Exécutez sudo /etc/init.d/apache2 stop puis sudo systemctl disable apache2 pour empêcher un démarrage automatique au boot.

Si besoin, la commande sudo systemctl enable apache2 permet de réactiver Apache ultérieurement sans réinstaller les paquets système.

Commandes service Apache :

  • sudo /etc/init.d/apache2 stop
  • sudo systemctl disable apache2
  • sudo systemctl enable apache2
A lire :  Sauvegarder et restaurer sa carte microSD

Serveur Type Part de marché (2016) Remarques
Apache Processuel/modulaire 60.6% Historique et riche en modules
Nginx Événementiel asynchrone 20.4% Performances sur charges simultanées
Microsoft IIS Serveur propriétaire 14.1% Intégration Windows
Autres Variés Reste Alternatives légères ou spécialisées

Selon W3Techs, ces parts historiques aident à comprendre pourquoi Nginx s’est imposé comme alternative performante aux systèmes traditionnels.

Installation de Nginx et liaison avec PHP-FPM

La seconde opération essentielle consiste à installer Nginx et php-fpm depuis les dépôts officiels de Raspbian pour une compatibilité maximale.

Exécutez sudo apt install nginx php-fpm puis vérifiez la page d’accueil sur le port 80 affichant Welcome to nginx! pour confirmer l’installation.

Pour vérifier PHP, créez un index.php contenant dans /var/www/html et testez l’exécution via le navigateur local.

Permissions répertoire :

  • sudo chown -R www-data:pi /var/www/html
  • sudo chmod -R 770 /var/www/html
  • chown www-data:www-data /var/www
  • chmod 744 /var/www

Une fois les fichiers en place, redémarrez Nginx avec sudo /etc/init.d/nginx restart pour appliquer les modifications et valider la liaison avec PHP-FPM.

« J’ai migré mon blog vers Nginx sur un Raspberry Pi et la réactivité a été immédiatement visible. »

Paul D.

Configuration avancée et gestion des erreurs Nginx

Avec Nginx et PHP fonctionnels, la configuration avancée évite les erreurs fréquentes comme le 403 et optimise l’accès aux contenus.

A lire :  Les meilleures marques de disques durs en 2025

Cette partie décrit la gestion des index, des permissions et des snippets fastcgi nécessaires au bon fonctionnement des pages dynamiques.

Résolution de l’erreur 403 Forbidden

L’erreur 403 provient souvent de l’absence d’un index ou de permissions incorrectes sur /var/www, empêchant Nginx d’afficher un fichier.

Testez la présence d’un index.html puis ajustez les propriétaires et les permissions pour rendre le répertoire accessible à www-data sans risque excessif.

Selon la configuration, attribuez www-data et utilisez 744 ou 770 selon l’usage pour autoriser la lecture tout en limitant les écritures non nécessaires.

Vérifications préliminaires système :

  • Présence d’un index.html ou index.php
  • Propriétaire du répertoire défini sur www-data
  • Permissions 744 ou 770 selon besoin
  • Configuration fastcgi-php.conf activée

Cause Symptôme Correctif
Absence d’index 403, page vide Ajouter index.html ou index.php
Permissions incorrectes 403 à l’accès chown www-data ; chmod 744/770
Propriétaire erroné 403 ou écriture refusée chown -R www-data:pi sur le dossier
Configuration site Erreur de routing Ajuster root et index dans sites-available

Selon NGINX, une configuration claire des directives index et root évite de nombreux refus d’accès liés aux habitudes d’Apache et aux .htaccess absents.

La surveillance des logs offre une lecture rapide des causes d’erreurs et permet d’orienter les correctifs vers fichiers ou permissions concernés.

« Le reverse proxy a réduit les interruptions lors des mises à jour de mes services back-end. »

Camille L.

A lire :  Transformer un raspberry en serveur personnel sécurisé

Reverse proxy, sécurité web et optimisation de performance

Après la correction des erreurs, l’étape suivante consiste à mettre en place un reverse proxy et à optimiser la performance serveur pour les charges réelles.

Cette section couvre TLS, en-têtes de sécurité, cache et tests de charge simples adaptés aux limites d’un Raspberry Pi domestique.

Configurer Nginx comme reverse proxy

La configuration de Nginx en reverse proxy permet de répartir les services et d’augmenter la sécurité en cachant les backends réels derrière un frontal unique.

Déclarez des blocs server avec proxy_pass vers les backends et ajustez timeouts et buffers selon la charge observée pour limiter les erreurs 504 et timeouts.

Selon NGINX, un proxy bien configuré réduit l’exposition directe des services internes et facilite l’ajout de cache ou d’ACL de filtrage.

Bonnes pratiques proxy :

  • Utiliser proxy_set_header Host et X-Forwarded-For
  • Limiter taille corps et définir timeouts appropriés
  • Configurer health checks pour backends critiques
  • Séparer frontaux et backends pour sécurité

« J’ai migré mon site professionnel vers Nginx et le reverse proxy a apporté stabilité sous charge. »

Sophie M.

Sécurité web et tests de performance

La sécurité web inclut TLS, en-têtes HTTP, permissions et surveillance de logs pour détecter des anomalies sur les serveurs exposés.

Activez TLS avec certbot pour obtenir des certificats gratuits et forcez HSTS pour les hôtes publics afin de durcir les connexions.

Effectuez des tests de charge légers pour évaluer la consommation mémoire et la latence, et adaptez la configuration aux limites matérielles.

Vérifications sécurité essentielles :

  • TLS avec certificats valides et renouvellement automatisé
  • Headers CSP et X-Frame-Options correctement définis
  • Mises à jour régulières du système et des paquets
  • Surveillance des logs et alertes pour tentatives suspectes

Ces réglages ouvrent sur des options avancées telles que le cache PHP et l’orchestration, qui permettent de franchir un cap de performance supplémentaire.

« L’installation m’a paru accessible, malgré quelques ajustements sur les permissions et la configuration des sockets PHP. »

Marc P.

Source : W3Techs, « Usage of web servers for websites », w3techs.com, 2016 ; NGINX, « About NGINX », nginx.com ; Raspberry Pi Foundation, « Web servers », raspberrypi.org.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut