Aller au contenu

Nginx

Dans cet article

Information

Nginx est un serveur web haute performance et un serveur proxy inverse. Cette solution offre un déploiement automatisé rapide de Nginx basé sur le système d'exploitation Ubuntu avec prise en charge SSL/TLS.

Fonctionnalités principales

  • Haute performance - Gestion efficace d'un grand nombre de connexions simultanées.
  • Déploiement rapide - Le processus d'installation prend environ 5 minutes.
  • Intégration avec Let's Encrypt - Configuration automatique des certificats SSL via Certbot pour une connexion HTTPS sécurisée.
  • Architecture modulaire - Prise en charge de modules supplémentaires (GeoIP2, Stream, Mail, Image Filter, XSLT).
  • Configuration pré-installée - Paramètres pré-installés pour des performances optimales du serveur web.
  • Prise en charge des hôtes virtuels - Possibilité d'héberger plusieurs sites web sur un seul serveur.
  • Proxy inverse - Utilisation en tant qu'équilibreur de charge et proxy de mise en cache.

Fonctionnalités de déploiement

ID Nom du logiciel Système d'exploitation compatible VM BM VGPU GPU Min CPU (Cœurs) Min RAM (GB) Min HDD/SSD (GB) Domaine personnalisé Actif
405 Nginx Ubuntu 22.04 + + + + 1 1 20 Non COMMANDER
  • Temps d'installation : environ 5 minutes ;
  • Méthode d'installation : installation automatisée via Ansible ;
  • Dépendances requises :
    • apt (gestionnaire de paquets) ;
    • systemd ;
  • Version de Nginx : 1.18.0-6ubuntu14.7 ;
  • Modules installés :
    • nginx-core ;
    • libnginx-mod-http-geoip2 ;
    • libnginx-mod-stream ;
    • libnginx-mod-stream-geoip2 ;
    • libnginx-mod-mail ;
    • libnginx-mod-http-image-filter ;
    • libnginx-mod-http-xslt-filter ;
    • python3-certbot-nginx ;
  • Chemins d'installation principaux :
    • Fichiers de configuration : /etc/nginx/ ;
    • Fichier exécutable : /usr/sbin/nginx ;
    • Journaux : /var/log/nginx/ ;
    • Répertoire web : /var/www/html/ ;
    • Service Systemd : /usr/lib/systemd/system/nginx.service ;
  • Intégration avec Let's Encrypt :
    • Certificats : /etc/letsencrypt/ ;
    • Crochets de renouvellement : /etc/letsencrypt/renewal-hooks/deploy/reload-nginx.sh ;
  • Rotation automatique des journaux via logrotate : /etc/logrotate.d/nginx ;
  • Prise en charge du pare-feu UFW : /etc/ufw/applications.d/nginx.

Remarque

Sauf indication contraire, nous installons par défaut la dernière version de sortie du logiciel depuis les dépôts officiels.

Structure des composants installés

Après l'installation, la structure de répertoires et de fichiers suivante est créée dans le système :

Fichiers de configuration :

/etc/nginx/
├── nginx.conf                          # Fichier de configuration principal
├── sites-available/                    # Configurations d'hôtes virtuels disponibles
│   └── nginx71661.hostkey.in.conf
├── sites-enabled/                      # Hôtes virtuels actifs
│   └── nginx71661.hostkey.in.conf
├── conf.d/                             # Configurations supplémentaires
└── modules-enabled/                    # Modules activés

Fichiers système :

/etc/init.d/nginx                       # Script d'initialisation
/etc/default/nginx                      # Variables d'environnement
/etc/systemd/system/multi-user.target.wants/nginx.service

Journaux et exécution :

/var/log/nginx/                         # Répertoire des journaux
├── access.log                          # Journal d'accès
└── error.log                           # Journal des erreurs
/run/nginx.pid                          # Fichier PID du processus

Configuration de Nginx

Le fichier de configuration principal /etc/nginx/nginx.conf contient les paramètres suivants :

Paramètres de base :

  • Utilisateur : www-data
  • Processus workers : auto
  • Connexions workers : 768

Paramètres HTTP :

  • sendfile activé pour optimiser les transferts de fichiers
  • TCP nopush activé
  • Types MIME pris en charge depuis /etc/nginx/mime.types

SSL/TLS :

  • Protocoles pris en charge : TLSv1, TLSv1.1, TLSv1.2, TLSv1.3
  • Priorité des chiffrements du serveur activée

Journalisation :

  • Journal d'accès : /var/log/nginx/access.log
  • Journal des erreurs : /var/log/nginx/error.log

Compression :

  • Gzip activé pour l'optimisation du trafic

Hôtes virtuels :

  • Configurations chargées depuis /etc/nginx/conf.d/*.conf
  • Sites actifs depuis /etc/nginx/sites-enabled/*

Attention

Vérifiez toujours la syntaxe avec la commande nginx -t avant de redémarrer le service après avoir modifié la configuration de Nginx.

Premiers pas après le déploiement de Nginx

Après la passation d'une commande, vous recevrez une notification à l'adresse e-mail enregistrée lors de l'inscription lorsque le serveur sera prêt à être utilisé. Cette notification inclura l'adresse IP du VPS, ainsi que les identifiants de connexion. Les clients de notre entreprise gèrent les équipements via le panneau de contrôle du serveur et l'APIInvapi.

Les données d'authentification, qui peuvent être trouvées dans l'onglet Configuration >> Tags du panneau de contrôle du serveur ou dans l'e-mail envoyé :

  • Login : root ;
  • Password : envoyé par e-mail à votre adresse lorsque le serveur est prêt après le déploiement du logiciel.

Pour utiliser le service, connectez-vous au serveur via SSH :

ssh root@<server_ip>
Après l'achèvement de l'installation de Nginx, celui-ci est automatiquement démarré et prêt à fonctionner. Vérifiez l'état du service Nginx :

systemctl status nginx
Gestion du service :

Démarrer :

systemctl start nginx 
Arrêter :

systemctl stop nginx 
Redémarrer :

systemctl restart nginx
Recharger la configuration :

systemctl reload nginx

Remarque

Des informations détaillées sur les paramètres de base de Nginx sont disponibles dans la documentation officielle.

Commande de Nginx via l'API