Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
logiciel:reseau:http:serveur:nginx:raspi:start [2024/09/21 10:43] – supprimée - modification externe (Unknown date) 127.0.0.1 | logiciel:reseau:http:serveur:nginx:raspi:start [2024/09/21 10:43] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ====== Nginx sur RaspBerry Pi : le serveur Web hautes performances (LEMP) ====== | ||
+ | |||
+ | Voir **[[logiciel: | ||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | * **[[tutoriel: | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | < | ||
+ | - Mettez à jour les sources :<cli prompt=' | ||
+ | - Installez Nginx sur le Raspberry :<cli prompt=' | ||
+ | - Démarrez Nginx, activez-le pour être lancé au démarrage et démarrez le service :<cli prompt=' | ||
+ | pi@framboise: | ||
+ | - Vérifiez que Nginx est bien démarré :<cli prompt=' | ||
+ | active</ | ||
+ | - **Vérifiez** que tout fonctionne : sur votre PC, dans votre navigateur Internet, ouvrez votre serveur [[http:// | ||
+ | Quand vous tapez l' | ||
+ | |||
+ | L' | ||
+ | |||
+ | N' | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | L' | ||
+ | < | ||
+ | /etc/nginx/ | ||
+ | ├── nginx.conf | ||
+ | ├── conf.d | ||
+ | ├── modules-available | ||
+ | ├── modules-enabled | ||
+ | │ └── ... | ||
+ | ├── sites-available | ||
+ | │ └── default | ||
+ | ├── sites-enabled | ||
+ | │ └── default -> / | ||
+ | ├── snippets | ||
+ | │ └── ... | ||
+ | └── ... | ||
+ | </ | ||
+ | * Le dossier **sites-available** contient les fichiers de configuration des sites | ||
+ | * Le dossier **sites-enabled** permet de les lancer en production. | ||
+ | </ | ||
+ | |||
+ | ===== Configuration ===== | ||
+ | |||
+ | Le fichier de configuration de **nginx** est / | ||
+ | |||
+ | Au lieu de toucher au fichier / | ||
+ | * **configuration** : des fichiers dans le répertoire **/ | ||
+ | * **hôtes virtuels** : des fichiers dans le répertoire **/ | ||
+ | * Le dossier **/ | ||
+ | |||
+ | ==== Serveur par défaut ==== | ||
+ | |||
+ | < | ||
+ | - **Faites une copie du fichier / | ||
+ | Pour info, en voici le contenu : **[[logiciel: | ||
+ | Pour en savoir plus sur le fichier de configuration, | ||
+ | </ | ||
+ | - **Éditez avec les droits d' | ||
+ | # Serveur par défaut | ||
+ | server { | ||
+ | listen 80 default_server; | ||
+ | listen [::]:80 default_server; | ||
+ | | ||
+ | # Configuration SSL | ||
+ | listen 443 ssl default_server; | ||
+ | listen [::]:443 ssl default_server; | ||
+ | | ||
+ | # Note : Vous devez désactiver gzip pour le trafic SSL. | ||
+ | # Voir : https:// | ||
+ | | ||
+ | # Renseignez-vous sur ssl_ciphers pour garantir une configuration sécurisée | ||
+ | # Voir : https:// | ||
+ | | ||
+ | # Certificats auto-signés générés par le package ssl-cert | ||
+ | # Ne les utilisez pas dans un serveur de production ! | ||
+ | include snippets/ | ||
+ | | ||
+ | server_name _; | ||
+ | root / | ||
+ | | ||
+ | index index.php index.html index.htm index.nginx-debian.html; | ||
+ | | ||
+ | location / { | ||
+ | # Essai de servir la demande comme fichier, puis comme répertoire, | ||
+ | try_files $uri $uri/ =404; | ||
+ | } | ||
+ | | ||
+ | # Passer les scripts PHP au serveur FastCGI | ||
+ | location ~ \.php$ { | ||
+ | include snippets/ | ||
+ | fastcgi_pass unix:/ | ||
+ | } | ||
+ | | ||
+ | # Refuser l' | ||
+ | # concorde avec celle de nginx | ||
+ | location ~ /\.ht { | ||
+ | deny all; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Et voici le modèle pour un serveur virtuel :<code - example.com> | ||
+ | # Modèle de configuration de l' | ||
+ | # Placez ce code dans un fichier sites-available/ | ||
+ | # et créez un lien symbolique vers sites-enabled/ | ||
+ | server { | ||
+ | listen 80; | ||
+ | listen [::]:80; | ||
+ | |||
+ | server_name example.com; | ||
+ | root / | ||
+ | |||
+ | index index.php index.html index.htm; | ||
+ | |||
+ | # Certificats auto-signés générés par le package ssl-cert | ||
+ | # Ne les utilisez pas dans un serveur de production ! | ||
+ | include snippets/ | ||
+ | |||
+ | location / { | ||
+ | try_files $uri $uri/ =404; | ||
+ | } | ||
+ | |||
+ | # Passer les scripts PHP au serveur FastCGI | ||
+ | location ~ \.php$ { | ||
+ | include snippets/ | ||
+ | fastcgi_pass unix:/ | ||
+ | } | ||
+ | |||
+ | # Refuser l' | ||
+ | # si la racine du document d' | ||
+ | location ~ /\.ht { | ||
+ | deny all; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Création d'un site ==== | ||
+ | |||
+ | Le plus simple est de partir de l' | ||
+ | |||
+ | < | ||
+ | - **Recopiez le fichier modèle** :<cli prompt=' | ||
+ | - **Éditez avec les droits d' | ||
+ | server { | ||
+ | listen 80; | ||
+ | listen [::]:80; | ||
+ | | ||
+ | server_name monsite.fr; | ||
+ | root / | ||
+ | |||
+ | index index.php index.html; | ||
+ | |||
+ | location / { | ||
+ | try_files $uri $uri/ =404; | ||
+ | } | ||
+ | |||
+ | location ~ \.php$ { | ||
+ | include snippets/ | ||
+ | fastcgi_pass unix:/ | ||
+ | } | ||
+ | }</ | ||
+ | - **Créez un dossier qui accueillera les fichiers de votre site** :<cli prompt=' | ||
+ | - **Créez le fichier / | ||
+ | <?php | ||
+ | class Application | ||
+ | { | ||
+ | public function __construct() | ||
+ | { | ||
+ | phpinfo(); | ||
+ | } | ||
+ | } | ||
+ | $application = new Application(); | ||
+ | ?> | ||
+ | </ | ||
+ | - **Activez votre site** en créant un lien dans le dossier sites-enabled :<cli prompt=' | ||
+ | - **Testez la configuration** :<cli prompt=' | ||
+ | nginx: the configuration file / | ||
+ | nginx: configuration file / | ||
+ | - **Si tout est Ok, redémarrez nginx** :<cli prompt=' | ||
+ | - **Pour finir**, sur le PC, allez sur votre serveur à l'aide de votre navigateur Internet. S'il affiche l' | ||
+ | </ | ||
+ | |||
+ | ==== Serveurs virtuels ==== | ||
+ | |||
+ | Pour le PHP, vérifier le contenu du répertoire | ||
+ | total 4,0K | ||
+ | srw-rw---- 1 www-data www-data 0 juil. 20 10:46 php7.3-fpm.sock | ||
+ | -rw-r--r-- 1 root | ||
+ | ===== Utilisation ===== | ||
+ | |||
+ | Exemple sur framboise : | ||
+ | |||
+ | <code - / | ||
+ | # Domaine framboise.parc | ||
+ | |||
+ | # hôte virtuel framboise.parc | ||
+ | server { | ||
+ | listen 80; | ||
+ | listen [::]:80; | ||
+ | |||
+ | server_name framboise.parc; | ||
+ | root / | ||
+ | |||
+ | | ||
+ | |||
+ | location / { | ||
+ | try_files $uri $uri/ =404; | ||
+ | } | ||
+ | |||
+ | location ~ \.php$ { | ||
+ | include snippets/ | ||
+ | fastcgi_pass unix:/ | ||
+ | #~ fastcgi_pass unix:/ | ||
+ | } | ||
+ | |||
+ | location ~ /\.ht { | ||
+ | deny all; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | # hôtes virtuels dokuwiki | ||
+ | server { | ||
+ | listen 80; | ||
+ | listen [::]:80; | ||
+ | |||
+ | server_name | ||
+ | root / | ||
+ | |||
+ | location / { | ||
+ | index index.php index.html index.htm index.nginx-debian.html; | ||
+ | try_files $uri $uri/ =404; | ||
+ | } | ||
+ | |||
+ | location ~ \.php$ { | ||
+ | include snippets/ | ||
+ | #~ fastcgi_pass unix:/ | ||
+ | fastcgi_pass unix:/ | ||
+ | } | ||
+ | |||
+ | location ~ / | ||
+ | deny all; | ||
+ | } | ||
+ | |||
+ | location ~ /\.ht { | ||
+ | deny all; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | # hôte virtuel test.framboise.parc | ||
+ | server { | ||
+ | listen 80; | ||
+ | listen [::]:80; | ||
+ | |||
+ | server_name test.framboise.parc; | ||
+ | root / | ||
+ | |||
+ | location / { | ||
+ | index index.php index.html index.htm index.nginx-debian.html; | ||
+ | try_files $uri $uri/ =404; | ||
+ | } | ||
+ | |||
+ | location ~ \.php$ { | ||
+ | include snippets/ | ||
+ | fastcgi_pass unix:/ | ||
+ | #~ fastcgi_pass unix:/ | ||
+ | } | ||
+ | |||
+ | location ~ / | ||
+ | deny all; | ||
+ | } | ||
+ | |||
+ | location ~ /\.ht { | ||
+ | deny all; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | #~ # hôte virtuel dolibarr.framboise.parc | ||
+ | server { | ||
+ | listen 80; | ||
+ | listen [::]:80; | ||
+ | |||
+ | server_name dolibarr.framboise.parc; | ||
+ | root / | ||
+ | |||
+ | location / { | ||
+ | index index.php index.html index.htm index.nginx-debian.html; | ||
+ | try_files $uri $uri/ =404; | ||
+ | } | ||
+ | |||
+ | location ~ \.php$ { | ||
+ | include snippets/ | ||
+ | fastcgi_pass unix:/ | ||
+ | #~ fastcgi_pass unix:/ | ||
+ | } | ||
+ | |||
+ | location ~ / | ||
+ | deny all; | ||
+ | } | ||
+ | |||
+ | location ~ /\.ht { | ||
+ | deny all; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | # hôte virtuel *.framboise.parc | ||
+ | server { | ||
+ | listen 80; | ||
+ | listen [::]:80; | ||
+ | |||
+ | # On récupère le sous-domaine dans la variable " | ||
+ | server_name | ||
+ | root / | ||
+ | |||
+ | | ||
+ | |||
+ | location / { | ||
+ | try_files $uri $uri/ =404; | ||
+ | } | ||
+ | |||
+ | location ~ \.php$ { | ||
+ | include snippets/ | ||
+ | fastcgi_pass unix:/ | ||
+ | #~ fastcgi_pass unix:/ | ||
+ | } | ||
+ | |||
+ | location ~ /\.ht { | ||
+ | deny all; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Activer cet hôte :<cli prompt=' | ||
+ | |||
+ | |||
+ | ===== Désinstallation ===== | ||
+ | |||
+ | ===== Problèmes connus ===== | ||
+ | |||
+ | ===== Voir aussi ===== | ||
+ | |||
+ | * **(fr)** [[http:// | ||
+ | * **(en)** [[http:// | ||
+ | |||
+ | ---- | ||
+ | //Basé sur << [[http:// |