Guide complet d’installation et de configuration de Nginx sur Ubuntu [Débutants]

1. Introduction

Beaucoup de gens souhaitent utiliser Nginx sur Ubuntu, mais si vous êtes novice, vous ne savez peut‑être pas par où commencer. Cet article propose un guide pas à pas pour les débutants, couvrant tout, de l’installation et la configuration à la gestion dans un environnement Ubuntu.

What is Nginx?

Nginx (prononcé « engine‑x ») est un serveur HTTP haute performance et un serveur proxy inverse. Il est largement utilisé dans le monde entier pour son design léger et sa flexibilité, notamment sa capacité à gérer d’importants volumes de trafic.

Benefits of Using Nginx on Ubuntu

Ubuntu est une distribution Linux populaire qui fonctionne très bien avec Nginx. Grâce à son système de gestion de paquets (APT), installer et mettre à jour Nginx est simple, et il offre une excellente stabilité et sécurité.

En lisant cet article, vous apprendrez :

  • Comment installer Nginx sur Ubuntu
  • Configuration de base et procédures de gestion
  • Optimisation des performances et dépannage

Passons maintenant aux choses pratiques.

年収訴求

2. Comment installer Nginx sur Ubuntu

Pour faire fonctionner Nginx sur Ubuntu, vous devez d’abord l’installer correctement. Cette section fournit un guide clair, étape par étape, du processus d’installation.

Vérification des paquets requis

Avant de commencer l’installation, assurez-vous que votre système est à jour en exécutant les commandes suivantes :

sudo apt update
sudo apt upgrade

Installation de Nginx

Pour installer Nginx, saisissez la commande suivante :

sudo apt install nginx

Cette commande télécharge et installe automatiquement Nginx depuis le dépôt APT d’Ubuntu.

Vérification de l’installation

Pour vérifier si l’installation a réussi, utilisez la commande suivante pour consulter le statut de Nginx :

sudo systemctl status nginx

Si la sortie indique « active (running) », l’installation a réussi.

Configuration du pare-feu

Ubuntu inclut UFW (Uncomplicated Firewall), que vous pouvez utiliser pour autoriser le trafic Nginx.

sudo ufw allow 'Nginx Full'
sudo ufw enable

Nginx est maintenant configuré pour fonctionner sur les ports 80 (HTTP) et 443 (HTTPS).

3. Configuration de base de Nginx sur Ubuntu

Installer simplement Nginx ne suffit pas. Ensuite, vous devez le configurer correctement pour une utilisation efficace.

Fichiers de configuration et structure de base

Les principaux fichiers de configuration de Nginx se trouvent dans :

  • Main configuration file: /etc/nginx/nginx.conf
  • Fichiers de configuration spécifiques au site : Dans le répertoire /etc/nginx/sites-available/

En général, vous créez un fichier de configuration d’hôte virtuel dans sites-available et créez un lien symbolique vers sites-enabled pour l’activer.

Configuration d’un hôte virtuel

Les hôtes virtuels vous permettent de gérer plusieurs domaines ou projets sur un même serveur. L’exemple suivant configure example.com :

sudo nano /etc/nginx/sites-available/example.com

Entrez le contenu suivant :

server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example.com/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

Enregistrez le fichier et activez la configuration avec les commandes suivantes :

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Configuration SSL/TLS

Pour activer une communication sécurisée, configurez un certificat SSL/TLS. Vous pouvez utiliser Let’s Encrypt pour obtenir un certificat gratuit.

Tout d’abord, installez certbot :

sudo apt install certbot python3-certbot-nginx

Ensuite, exécutez la commande suivante pour obtenir et configurer automatiquement le certificat SSL :

sudo certbot --nginx -d example.com -d www.example.com

Pour éviter l’expiration, configurez également le renouvellement automatique du certificat.

4. Gestion et contrôle de Nginx

Après avoir installé et configuré Nginx, vous devez apprendre à démarrer, arrêter, recharger les configurations et résoudre les problèmes. Cette section couvre les commandes de gestion essentielles ainsi que les techniques de dépannage.

es de base de Nginx

Sur Ubuntu, vous pouvez gérer Nginx en utilisant la systemctl commande. Voici les opérations principales :

  1. Démarrer Nginx
sudo systemctl start nginx
  1. Arrêter Nginx
sudo systemctl stop nginx
  1. Redémarrer Nginx Nécessaire lors de modifications majeures de la configuration.
sudo systemctl restart nginx
  1. Recharger Nginx Appliquer les modifications de configuration sans redémarrer.
sudo systemctl reload nginx
  1. Vérifier l’état de Nginx Vérifiez si Nginx fonctionne correctement.
sudo systemctl status nginx

Activation du démarrage automatique

Pour garantir que Nginx démarre automatiquement après un redémarrage du système :

  1. Activer le démarrage automatique
sudo systemctl enable nginx
  1. Désactiver le démarrage automatique (si nécessaire)
sudo systemctl disable nginx

Vérification des journaux pour le dépannage

Si Nginx ne fonctionne pas comme prévu, consultez les journaux pour en identifier la cause.

  1. Afficher les journaux d’erreurs
sudo tail -f /var/log/nginx/error.log
  1. Afficher les journaux d’accès
sudo tail -f /var/log/nginx/access.log

5. Configurer le pare-feu Nginx et renforcer la sécurité

La sécurité est essentielle lors de l’utilisation de Nginx. Cette section explique comment configurer les ports à l’aide du pare-feu d’Ubuntu (UFW) et renforcer la sécurité de Nginx.

Ouverture des ports avec UFW

UFW (Uncomplicated Firewall) est un outil de pare-feu inclus par défaut dans Ubuntu. Pour que Nginx fonctionne correctement, vous devez ouvrir les ports 80 (HTTP) et 443 (HTTPS).

  1. Vérifier le statut actuel d’UFW
sudo ufw status
  1. Autoriser le trafic NginxExécutez la commande suivante pour ouvrir les ports nécessaires :
sudo ufw allow 'Nginx Full'
  1. Activer UFWSi le pare-feu est désactivé, activez-le :
sudo ufw enable

Améliorations supplémentaires de la sécurité

  1. Désactiver les méthodes HTTP inutilesPour renforcer la sécurité, désactivez les méthodes HTTP inutiles en ajoutant ce qui suit au fichier de configuration Nginx :
if ($request_method !~ ^(GET|POST|HEAD)$) {
    return 444;
}
  1. Désactiver l’affichage du répertoireEmpêcher le contenu du répertoire d’être accessible publiquement en ajoutant :
autoindex off;
  1. Renforcer SSL/TLSUtilisez des paramètres de chiffrement forts dans votre configuration SSL :
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers HIGH:!aNULL:!MD5;

6. Optimisation des performances et dépannage de Nginx

Nginx est largement reconnu pour ses hautes performances, mais un réglage approprié peut encore améliorer son efficacité. Cette section couvre les techniques d’optimisation et les solutions de dépannage courantes.

Optimisation des performances

1. Configuration des processus de travail

Nginx utilise une architecture multi-processus. Définir un nombre approprié de processus workers optimise les performances.

Modifiez le fichier de configuration /etc/nginx/nginx.conf et définissez :

worker_processes auto;

Le paramètre « auto » ajuste automatiquement le nombre de processus workers en fonction des cœurs CPU.

2. Augmenter les connexions des workers

Par défaut, chaque processus worker possède un nombre limité de connexions. Augmenter cette valeur améliore la gestion des charges de trafic élevées.

Ajoutez ou modifiez la ligne suivante dans le fichier de configuration :

worker_connections 1024;

3. Activer HTTP/2

Activer HTTP/2 améliore l’efficacité des communications et accélère le chargement du site web.

Modifiez le fichier /etc/nginx/sites-available/example.com et changez la directive listen comme suit :

listen 443 ssl http2;

Rechargez ensuite Nginx :

sudo systemctl reload nginx

4. Activer la compression du contenu

Compresser les fichiers avant de les envoyer réduit la consommation de bande passante et améliore les temps de chargement.

Ajoutez ou activez les paramètres suivants :

gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

5. Configurer la mise en cache

Mettre en place la mise en cache réduit les requêtes répétées pour les ressources statiques.

Ajoutez la configuration suivante :

location ~* .(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg)$ {
    expires 30d;
    access_log off;
}

Dépannage courant

1. Gestion lente des requêtes sous forte charge

  • Cause : Processus de travail insuffisants ou limites de connexion.
  • Solution : Ajustez les processus de travail et les connexions, ou envisagez d’utiliser un équilibreur de charge.

2. Erreur « 403 Forbidden »

  • Cause : Directive root incorrecte dans le fichier de configuration ou permissions de fichier incorrectes.
  • Solution: Vérifiez la directive root et mettez à jour les permissions de fichier:
sudo chmod -R 755 /var/www/example.com/html
sudo chown -R www-data:www-data /var/www/example.com/html

3. Problèmes de délai d’attente du serveur

  • Cause: Temps de traitement de la requête long.
  • Solution: Ajuster les paramètres de temporisation:
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;

4. Erreurs de redémarrage de Nginx

  • Cause : Erreurs de fichier de configuration.
  • Solution: Testez la configuration avant de redémarrer :
sudo nginx -t

7. Résumé et prochaines étapes

Dans ce guide, nous avons expliqué comment installer, configurer et gérer Nginx sur Ubuntu. Passons en revue ce que nous avons appris et explorons les prochaines étapes.

Résumé des points clés

1. Installation de Nginx sur Ubuntu

  • Préparé les paquets requis et installé Nginx en utilisant APT.
  • Configuré le pare-feu pour autoriser le trafic Nginx.

2. Configuration de base

  • Compris la structure du fichier de configuration Nginx et configuré les hôtes virtuels ainsi que SSL/TLS.

3. Gestion de Nginx

  • Appris les commandes essentielles pour démarrer, arrêter et recharger Nginx.
  • Journaux vérifiés pour le dépannage.

4. Améliorations de la sécurité

 

  • UFW configuré et paramètres de sécurité supplémentaires appliqués.

5. Optimisation des performances et dépannage

  • Processus de travail optimisés, HTTP/2 activé et mise en cache configurée.
  • Résolu les problèmes courants de Nginx.

Étapes suivantes

Maintenant que vous maîtrisez les bases de Nginx sur Ubuntu, envisagez les étapes suivantes :

  • Apprenez les configurations avancées comme l’équilibrage de charge et le proxy inverse.
  • Renforcez la sécurité avec le WAF et des modules de sécurité Nginx supplémentaires.
  • Automatisez les déploiements en utilisant Ansible ou Docker.
  • Surveillez les performances avec des outils comme Prometheus et Grafana.

En appliquant ces concepts, vous pouvez exploiter gérer efficacement un serveur web haute performance avec Nginx sur Ubuntu.

侍エンジニア塾