Qu’est ce que Nginx ?
Ce tutoriel vous guidera dans l’installation de Nginx sur Linux (CentOs 7). Si par contre, vous avez besoin d’installer apache, visitez le tutoriel Apache.
Nginx est un serveur web open-source apparu en 2004. Il est aussi utilisé comme reverse proxy, load balancer et cache HTTP… Il a fortement gagné en popularité et est devenu le premier concurrent du serveur web Apache.
Cette popularité s’explique par la capacité de Nginx de traiter un grand nombre de requêtes en même temps tout en optimisant l’utilisation de la mémoire. Nginx est aussi plus rapide lorsqu’il s’agit de servir du contenu statique.
Prérequis
- Posséder les droits root sur la machine.
Etape 1 : Ajout du dépôt Nginx
Tout d’abord, les packages de Nginx sont disponibles dans le dépôt Epel. Donc, ajoutons le sur CentOs.
[[email protected] ~]# yum install epel-release Modules complémentaires chargés : fastestmirror, product-id, search-disabled-repos, subscription-manager ... Installé : epel-release.noarch 0:7-11 Terminé !
Etape 2 : Installer Nginx
Maintenant qu’on a ajouté le dépôt Epel, on peut installer Nginx en utilisant la commande suivante :
yum install -y nginx Modules complémentaires chargés : fastestmirror, product-id, search-disabled-repos, subscription-manager This system is not registered with an entitlement server. You can use subscription-manager to register. ... ... Installé : nginx.x86_64 1:1.16.1-1.el7 Dépendances installées : centos-indexhtml.noarch 0:7-9.el7.centos gd.x86_64 0:2.0.35-26.el7 libXpm.x86_64 0:3.5.12-1.el7 nginx-all-modules.noarch 1:1.16.1-1.el7 nginx-filesystem.noarch 1:1.16.1-1.el7 nginx-mod-http-image-filter.x86_64 1:1.16.1-1.el7 nginx-mod-http-perl.x86_64 1:1.16.1-1.el7 nginx-mod-http-xslt-filter.x86_64 1:1.16.1-1.el7 nginx-mod-mail.x86_64 1:1.16.1-1.el7 nginx-mod-stream.x86_64 1:1.16.1-1.el7 perl.x86_64 4:5.16.3-294.el7_6 perl-Carp.noarch 0:1.26-244.el7 perl-Encode.x86_64 0:2.51-7.el7 perl-Exporter.noarch 0:5.68-3.el7 perl-File-Path.noarch 0:2.09-2.el7 perl-File-Temp.noarch 0:0.23.01-3.el7 perl-Filter.x86_64 0:1.49-3.el7 perl-Getopt-Long.noarch 0:2.40-3.el7 perl-HTTP-Tiny.noarch 0:0.033-3.el7 perl-PathTools.x86_64 0:3.40-5.el7 perl-Pod-Escapes.noarch 1:1.04-294.el7_6 perl-Pod-Perldoc.noarch 0:3.20-4.el7 perl-Pod-Simple.noarch 1:3.28-4.el7 perl-Pod-Usage.noarch 0:1.63-3.el7 perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 perl-Socket.x86_64 0:2.010-4.el7 perl-Storable.x86_64 0:2.45-3.el7 perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7 perl-Time-Local.noarch 0:1.2300-2.el7 perl-constant.noarch 0:1.27-2.el7 perl-libs.x86_64 4:5.16.3-294.el7_6 perl-macros.x86_64 4:5.16.3-294.el7_6 perl-parent.noarch 1:0.225-244.el7 perl-podlators.noarch 0:2.5.1-3.el7 perl-threads.x86_64 0:1.87-4.el7 perl-threads-shared.x86_64 0:1.43-6.el7 Terminé !
Etape 3 : Démarrage de Nginx
A présent, on peut lancer Nginx. On va aussi activer son service pour qu’il démarre automatiquement au démarrage de CentOs.
[[email protected] ~]# systemctl start nginx && systemctl enable nginx Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
Ensuite, on devra autoriser les protocoles http (port 80) et https (port 443) au niveau du par-feu comme suit :
[[email protected] ~]# firewall-cmd --permanent --zone=public --add-service=http success [[email protected] ~]# firewall-cmd --permanent --zone=public --add-service=https success [[email protected] ~]# firewall-cmd --reload success
Etape 4 : Test de Nginx
Désormais, on peut s’assurer que Nginx s’est bien lancé sur notre serveur Linux à travers la commande suivante :
[[email protected] ~]# 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 sam. 2019-10-26 07:02:37 CEST; 6min ago Process: 65598 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 65595 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 65593 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Ainsi, on voit bien qu’il est bien démarré. Pour récupérer la version du serveur nginx, on utilisera la commande suivante :
[[email protected] ~]# nginx -v nginx version: nginx/1.16.1
Enfin, pour visiter la page d’accueil du serveur Nginx, vous pouvez utiliser l’url http://@IPDeLaMachine . Vous pouvez obtenir votre @IP moyennant la commande suivante :
1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:e9:a0:21 brd ff:ff:ff:ff:ff:ff inet 192.168.150.133/24 brd 192.168.150.255 scope global noprefixroute ens33 valid_lft forever preferred_lft forever
Vous aurez un résultat similaire au suivant :

La documentation officielle se trouve sur https://nginx.org/en/docs/