Comment créer NGINX à partir de la source sur Ubuntu 24.04/22.04/20.04

Construire NGINX à partir des sources sur Ubuntu offre une approche personnalisée pour configurer votre serveur Web, garantissant des performances et une compatibilité optimales avec votre environnement spécifique. Contrairement aux installations binaires, la compilation de NGINX à partir des sources offre la flexibilité nécessaire pour activer ou désactiver des modules spécifiques, intégrer des modules tiers et appliquer des correctifs personnalisés. Ce processus permet une compréhension plus approfondie du fonctionnement interne du serveur et facilite une configuration plus sécurisée et efficace, adaptée à vos besoins uniques.

Points forts de la création de Nginx :

  • Configuration personnalisée : Adaptez NGINX pour répondre à vos besoins en activant uniquement les modules requis.
  • Performance améliorée: Optimisez NGINX pour votre matériel et votre charge de travail, améliorant potentiellement les temps de réponse et l'utilisation des ressources.
  • Fonctionnalités avancées: Accédez à des fonctionnalités et des modules de pointe qui peuvent ne pas être disponibles dans les packages précompilés.
  • Sécurité: Appliquez des correctifs spécifiques et compilez avec des options de sécurité renforcées pour un déploiement plus sécurisé.
  • Opportunité d'apprentissage : Obtenez une connaissance approfondie de l'architecture et des options de configuration de NGINX.
  • Contrôle: Gardez un contrôle total sur la configuration du serveur, y compris les chemins de répertoire et les fichiers de configuration.
  • À jour: Créez la dernière version de NGINX, en accédant aux nouvelles fonctionnalités et aux corrections de bogues avant la sortie des packages.
  • Soutien communautaire : Tirez parti des connaissances et des ressources approfondies de la communauté open source pour le dépannage et les améliorations.

En gardant ces avantages à l’esprit, créer NGINX à partir d’une source constitue une approche puissante pour ceux qui recherchent un contrôle et une efficacité maximaux de leur serveur Web.

Passons aux étapes détaillées pour créer NGINX à partir des sources sur Ubuntu.

Installer les packages initiaux pour NGINX Source sur Ubuntu

Mettre à jour Ubuntu avant de créer NGINX

Pour lancer l'installation des sources NGINX sur Ubuntu, commencez par mettre à jour et mettre à niveau votre système. Cette étape garantit que tous les packages de votre système sont à jour, minimisant ainsi les problèmes de compatibilité potentiels.

Exécutez la commande suivante dans votre terminal pour mettre à jour et mettre à niveau votre système :

sudo apt update && sudo apt upgrade

Installation des dépendances pour la compilation NGINX

Une fois votre système à jour, l'étape suivante consiste à installer les dépendances nécessaires à la compilation NGINX. Ces packages, tels que les compilateurs et les bibliothèques, sont cruciaux pour créer NGINX à partir des sources.

Pour installer les dépendances requises, exécutez la commande suivante :

sudo apt install build-essential libpcre3-dev libssl-dev zlib1g-dev libgd-dev

La commande installe plusieurs packages cruciaux, chacun remplissant un rôle spécifique dans le processus de compilation NGINX :

  • build-essential: Comprend le compilateur GCC et les outils associés, indispensables pour compiler des logiciels à partir de la source.
  • libpcre3-dev: Fournit des bibliothèques pour la prise en charge des expressions régulières compatibles Perl 5, cruciales pour la réécriture d'URL et d'autres fonctionnalités NGINX.
  • libssl-dev: Propose des bibliothèques pour le support SSL/TLS, garantissant une transmission sécurisée des données, un aspect clé des services Web modernes.
  • zlib1g-dev: Essentiel pour les fonctionnalités de compression, ce package permet d'améliorer les performances et la vitesse de NGINX.
  • libgd-dev: Prend en charge les capacités de traitement d’image, permettant à NGINX d’effectuer directement des manipulations d’images.

Téléchargez le code source NGINX sur Ubuntu

Sélection de la version NGINX

Après avoir installé les dépendances requises, procédez au téléchargement du code source NGINX. Visitez le site Web NGINX pour sélectionner la version qui correspond à vos besoins. Vous pouvez choisir parmi la version principale, stable ou toute autre version spécifique. Les versions principales sont régulièrement mises à jour avec les dernières fonctionnalités et améliorations, tandis que les versions stables se concentrent sur une stabilité bien testée pour les environnements de production.

Téléchargement du code source

À télécharger la version sélectionnée de NGINX, Utilisez le wget commande. Cette commande vous permet de télécharger des fichiers directement depuis Internet sur votre serveur. Par exemple, pour télécharger la version principale 1.23.3, utilisez la commande suivante :

wget http://nginx.org/download/nginx-x.x.x.tar.gz

Note: Remplacez le numéro de version par la version la plus récente ou préférée que vous souhaitez installer. Consultez toujours le site Web NGINX pour les versions les plus récentes afin de profiter des dernières fonctionnalités et mises à jour de sécurité. N'oubliez pas que les versions principales peuvent être mises à jour tous les quelques mois. Il est donc essentiel de rester informé des dernières versions pour maintenir un environnement de serveur sécurisé et efficace.

Extraire le code source NGINX

Déballage de l'archive tar NGINX

Une fois que vous avez téléchargé le code source NGINX, l'étape suivante consiste à extraire les fichiers de l'archive tar. Ce processus implique de décompresser le fichier tar.gz pour accéder au code source de NGINX. Utilisez le tar commande avec les indicateurs appropriés pour extraire le contenu.

Voici comment procéder, en prenant notre exemple de version, NGINX 1.23.3 :

tar -xzvf nginx-1.23.3.tar.gz

Cette commande se décompose comme suit :

  • x: Extrayez les fichiers.
  • z: Décompressez l'archive à l'aide de gzip.
  • v: Mode verbeux pour afficher le processus d'extraction.
  • f: Spécifiez le nom de fichier de l'archive.

Passer au répertoire NGINX

Après avoir extrait les fichiers, vous devez vous rendre dans le répertoire où la source NGINX a été décompressée. Cette étape est cruciale pour démarrer le processus de compilation.

Utilisez le cd commande pour se déplacer dans le répertoire NGINX extrait :

cd nginx-1.23.3

Configurer les options de construction pour NGINX sur Ubuntu

Configuration des options de configuration

Lors de la préparation de la construction de NGINX à partir des sources, la configuration de vos options de construction adapte l'installation à vos besoins spécifiques. Utiliser le ./configure commande pour définir des chemins et activer divers modules. Voici une commande qui intègre des options et des chemins de configuration courants :

./configure --prefix=/var/www/html --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --with-pcre  --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-http_ssl_module --with-http_image_filter_module=dynamic --modules-path=/etc/nginx/modules --with-http_v2_module --with-stream=dynamic --with-http_addition_module --with-http_mp4_module

Cette commande définit différents chemins pour les fichiers NGINX et inclut des modules qui améliorent les fonctionnalités de NGINX, comme la prise en charge SSL et le traitement HTTP/2.

Personnalisation de votre version NGINX

Lors de la personnalisation de votre build NGINX, le ./configure script est un outil puissant qui permet une personnalisation étendue. Voici comment vous pouvez adapter votre installation NGINX pour répondre à des exigences spécifiques :

Exemples de configurations

Pour activer la prise en charge HTTP/2 et intégrer la bibliothèque PCRE, cruciale pour le traitement des expressions régulières dans NGINX, utilisez la configuration suivante :

./configure --with-http_v2_module --with-pcre

Si vous devez définir le répertoire d'installation de NGINX, vous pouvez le définir à l'aide du --prefix option. Par exemple, pour installer NGINX dans le /usr/local/nginx répertoire, la commande serait :

./configure --prefix=/usr/local/nginx

Pour incorporer des modules supplémentaires tels que ngx_cache_purge, le --add-module l’option entre en jeu. Pour inclure ce module, la configuration ressemblerait à ceci :

./configure --add-module=/path/to/ngx_cache_purge

Inclure des bibliothèques supplémentaires comme libxslt ou libssl est simple avec le --with-XXX-module option. Pour inclure ces bibliothèques, les commandes respectives seraient :

./configure --with-libxslt-module
./configure --with-openssl=/path/to/openssl

Pour activer des modules tels que SSL et le module IP réel, les commandes de configuration seraient :

./configure --with-http_ssl_module
./configure --with-http_realip_module

Ces configurations illustrent quelques façons d'utiliser le ./configure script pour personnaliser votre build NGINX.

Pour une liste complète de toutes les options disponibles, vous pouvez exécuter ./configure --help. Cette commande fournit des informations détaillées sur tous les indicateurs et options que vous pouvez utiliser pour optimiser votre installation NGINX.

Commencer le processus final pour compiler NGINX

Compilation de NGINX

Une fois que vous avez défini les options de configuration pour NGINX, lancez le processus de compilation avec le make commande. Cette commande compile le code source NGINX en fonction des paramètres définis dans le ./configure scénario. Le processus de compilation aboutit à la création de l'exécutable binaire NGINX, généralement trouvé dans le objs annuaire.

make

Installation de NGINX

Après avoir compilé NGINX, procédez à l'installation en utilisant sudo make install. Cette commande installe le binaire NGINX, les fichiers de configuration et les fichiers supplémentaires nécessaires dans le chemin de préfixe spécifié. Si vous n'avez pas défini un emplacement différent lors de la configuration, NGINX s'installe sur /usr/local/nginx/ par défaut.

sudo make install

Suite à l'installation, vous trouverez NGINX dans le sbin répertoire dans le chemin de préfixe désigné, prêt pour une configuration et une utilisation ultérieures.

Créer le service NGINX SystemD

Après avoir créé et installé avec succès NGINX à partir de la source, l'étape suivante consiste à gérer NGINX en tant que service à l'aide de systemd. Cela vous permettra de démarrer, d'arrêter et de redémarrer NGINX comme n'importe quel autre service Ubuntu.

Création d'un fichier de service SystemD pour NGINX

Pour configurer un service systemd pour NGINX, commencez par créer un nouveau fichier de service :

sudo nano /etc/systemd/system/nginx.service

Dans ce fichier, saisissez les détails suivants, en vous assurant de remplacer /path/to/nginx avec le chemin réel vers votre binaire NGINX s'il ne se trouve pas à /usr/sbin/nginx:

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
        
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
        
[Install]
WantedBy=multi-user.target

Cette configuration configure NGINX en tant que service, définissant comment il doit démarrer, s'arrêter et recharger, et garantit son lancement une fois le réseau en ligne.

Recharger SystemD pour reconnaître le nouveau service

Après avoir défini le service, mettez à jour systemd pour reconnaître votre nouveau service NGINX :

sudo systemctl daemon-reload

Démarrage et activation du service NGINX

Une fois le service systemd en place, démarrez le service NGINX :

sudo systemctl start nginx

Pour garantir que NGINX démarre automatiquement au démarrage, activez le service :

sudo systemctl enable nginx

Vérifier l'installation de NGINX

Test de la fonctionnalité NGINX

Après avoir installé NGINX, il est crucial de vérifier son fonctionnement. Vous pouvez accéder à la page d'accueil de NGINX via un navigateur Web. Utilisez l'adresse d'hôte locale ou l'adresse IP de votre serveur pour accéder à la page de test NGINX.

Ouvrez votre navigateur Web et entrez l'URL suivante pour accéder à la page d'accueil de NGINX à l'aide de localhost :

http://localhost

Utilisation de l'adresse IP pour la vérification

Si l'accès à l'hôte local n'affiche pas la page d'accueil de NGINX, vous pouvez utiliser l'adresse IP de votre serveur à la place. Remplacer 192.128.1.1 avec l'adresse IP réelle de votre serveur :

http://192.128.1.1

Lorsque vous accédez à ces URL, vous devriez voir la page d'accueil NGINX par défaut, indiquant que NGINX est installé et fonctionne correctement sur votre serveur Ubuntu. Si la page n'apparaît pas, assurez-vous que NGINX est en cours d'exécution et qu'aucune règle de pare-feu ne bloque l'accès au service.

Conseils supplémentaires pour créer NGINX

Compilation de NGINX avec des modules supplémentaires

Améliorez les capacités de NGINX en incluant des modules supplémentaires pendant le processus de compilation. Par exemple, si vous souhaitez ajouter le module push HTTP NGINX, utilisez le --add-module flag lors de l’étape de configuration. Suivez ces commandes pour compiler NGINX avec le module HTTP push :

./configure --add-module=/path/to/nginx-http-push-module
make
sudo make install

Remplacer /path/to/nginx-http-push-module avec le chemin réel vers le module que vous souhaitez inclure.

Gestion de NGINX avec les commandes Systemctl

Sur Ubuntu, la gestion du service NGINX est simple avec les commandes systemctl. Voici comment contrôler le service NGINX à l'aide du terminal :

Démarrez NGINX :

sudo systemctl start nginx

Arrêtez NGINX :

sudo systemctl stop nginx

Redémarrez NGINX :

sudo systemctl restart nginx

Recharger NGINX :

sudo systemctl reload nginx

Vérification de l'état de NGINX

sudo systemctl status nginx

Activer NGINX au démarrage du système

sudo systemctl enable nginx

Désactivez NGINX au démarrage du système :

sudo systemctl disable nginx

Conclusion

Dans ce guide, nous avons expliqué comment créer NGINX à partir des sources sur Ubuntu 24.04, 22.04 et 20.04, de l'installation des packages à la gestion du service. Ce processus vous permet de personnaliser NGINX avec des modules supplémentaires et de le contrôler à l'aide de systemctl. Gardez votre NGINX à jour et configuré correctement pour les meilleures performances et sécurité. Expérimentez avec les paramètres et profitez de votre serveur NGINX sur Ubuntu.

Joshua James
Suis-moi
Les derniers articles par Joshua James (tout voir)