Ldfa Posté(e) le 30 décembre 2019 Partager Posté(e) le 30 décembre 2019 Depuis ma première expérience professionnelle en matière d’hébergement web, j’ai toujours utilisé le serveur Apache pour cette tâche. En 2006, j’ai hébergé une plateforme PMB pour mettre en réseau les onze médiathèques de notre communauté de communes, et Apache sous Debian s’acquittait parfaitement de cette tâche. Depuis cette date, je suis passé par d’autres distributions sur les serveurs dédiés, notamment Slackware et CentOS, mais je n’ai jamais vraiment réfléchi à une alternative au serveur Apache, que je connais aussi bien que ma vieille 750 BMW qui a déjà fait plusieurs fois le tour de la terre. Ces deux dernières semaines, je me suis intéressé de plus près à l’alternative Nginx, qui promet de meilleures performances. Étant donné que j’héberge un tas d’applications web comme WordPress, Dolibarr, GEPI et OwnCloud sur des serveurs dédiés qui ne sont pas toujours des foudres de guerre, j’étais tout simplement curieux de savoir si le jeu en valait la chandelle et si j’allais pouvoir mieux profiter de mon matériel aux performances relativement modestes. Dans un coin de ma tête, j’ai vaguement l’impression de passer d’une vieille BMW à un 1000 GSX-R ou une R1. Je me suis donc plongé dans la documentation, j’ai fait un tas de tests sur un serveur bac à sable, et j’ai pris des notes. J’en suis au point où je commence à être passablement familiarisé avec Nginx, et ce n’est peut-être pas une idée de tout reprendre depuis le début en réfléchissant à voix haute. RTFM La documentation de Nginx est disponible en anglais et en russe sur les deux sites officiels nginx.org et nginx.com. Le Beginner’s Guide s’adresse aux nouveaux venus et fournit une bonne introduction en la matière. Le Admin Guide constitue une documentation complète qui répond à toutes les questions que les administrateurs peuvent se poser. Pour compléter cette documentation, j’ai également suivi l’excellent tutoriel vidéo de Ray Viljoen sur la plateforme de formation Udemy. C’est plutôt bien fait, et je ne peux que vous le recommander. Non, je ne suis pas affilié à Udemy. [embedded content] Un peu de méthodologie Lorsque j’expérimente avec une nouvelle technologie, j’aime bien me retrouver avec « quelque chose qui marche ». Il n’y a rien de plus désolant qu’une documentation technique qui se contente d’égrener les listes de variables et les options de configuration sans offrir la moindre application concrète. Pour garder une approche pratique et pragmatique, je vais donc me fixer une série d’objectifs pour cette série d’articles sur Nginx. Afficher la page par défaut du serveur Héberger un site statique Héberger plusieurs sites statiques Héberger des pages dynamiques (PHP) Héberger des sites sécurisés (HTTPS) Peaufiner les performances Héberger WordPress, Dolibarr, OwnCloud, etc. Installation Nginx fait partie des applications officiellement supportées par Red Hat Enterprise Linux et CentOS depuis la version 8. Si vous en êtes encore à la version 7, vous aurez néanmoins l’embarras du choix pour les dépôts de paquets tiers. Les paquets binaires de Nginx sont fournis par… Pour l’anecdote, je me suis également amusé à construire Nginx depuis les sources, avec intégration à systemd et tout. Même si c’est très instructif, ça reste quand-même d’un intérêt académique, étant donné que les paquets binaires permettent d’obtenir exactement le même résultat avec beaucoup moins de prise de tête. Je ne vais donc pas détailler cette opération ici. J’opte pour le paquet en provenance du dépôt EPEL, étant donné qu’il est maintenu par des gens rodés aux spécificités de la distribution. $ sudo yum install nginx L’installation du paquet crée un utilisateur système nginx et un groupe système correspondant. $ grep nginx /etc/passwd nginx:x:995:992:Nginx web server:/var/lib/nginx:/sbin/nologin $ grep nginx /etc/group nginx:x:992: $ sudo grep nginx /etc/shadow nginx:!!:18256:::::: Mise en service J’active et je démarre le service. $ sudo systemctl enable nginx $ sudo systemctl start nginx Je vérifie s’il tourne correctement. $ systemctl status nginx ● nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2019-12-28 08:32:25 CET; 34s ago Process: 19510 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 19507 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 19504 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 19511 (nginx) CGroup: /system.slice/nginx.service ├─19511 nginx: master process /usr/sbin/nginx ├─19512 nginx: worker process └─19513 nginx: worker process Les mainteneurs du paquet fourni par EPEL ont modifié la page par défaut affichée par Nginx. Dans la configuration par défaut, c’est le contenu de /usr/share/nginx/html qui s’affiche, avec un lien symbolique index.html qui pointe vers /usr/share/doc/HTML/index.html. J’édite ce fichier aux alentours de la ligne 135. <div id="content"> <h1>Welcome to CentOS</h1> <h2>Hosted on sd-100246.dedibox.fr</h2> Je vérifie si le port 80 est bien ouvert, et j’affiche la page par défaut du serveur dans un navigateur web. La suite au prochain numéro, où nous allons nous intéresser à la configuration de Nginx en vue de l’hébergement d’un site statique. Partager : Articles similaires Afficher l’article complet Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.