Linux domine le domaine des serveurs qui composent Internet. Apache, Nginx, Lighttpd, OpenLiteSpeed sont quelques-uns des serveurs Web disponibles pour Linux. Dans cet article, nous allons discuter de Nginx et voir comment l'installer avec PHP sur Debian 10.
Qu'est-ce que Nginx ?
Nginx est un serveur Web open source pour les systèmes Windows, Linux, Unix et similaires à Unix. C'est le principal concurrent d'Apache. Le principal avantage de Nginx est la haute performance dans un trafic élevé. Vous pouvez également l'utiliser comme proxy inverse, cache HTTP, équilibreur de charge et serveur proxy pour la messagerie (IMAP, POP3 et SMTP).
La conception efficace de Nginx lui permet de surpasser les autres serveurs Web dans les tests de performances. C'est un ajustement parfait et excelle dans les situations où il y a un niveau élevé de trafic ou de demandes. C'est la raison pour laquelle de nombreuses entreprises géantes l'utilisent pour leurs sites Web ou leurs applications Web internes.
Installer Nginx sur Debian
Habituellement, il n'y a qu'un seul serveur Web dans un système. Ce n'est pas obligatoire mais c'est courant. Dans ce guide, nous supposerons que le serveur est prêt et n'a pas subi de nombreux changements. Cela signifie qu'aucun serveur Web n'y est exécuté.
Étant donné que Nginx est si populaire, il n'est pas surprenant qu'il soit inclus dans les dépôts officiels de Debian 10. Connectez-vous à votre système Debian et exécutez la commande ci-dessous dans l'ordre pour installer Nginx.
1. Vérifiez si Nginx est disponible dans le dépôt Debian
Comme mentionné ci-dessus, Nginx devrait être disponible dans le référentiel Debian. Exécutez la commande ci-dessous pour le vérifier.
:~$ sudo apt list nginx
Vous obtiendrez une sortie d'écran similaire à celle-ci :
Autrement dit, nous allons installer la version 1.14.2. La version peut être légèrement plus ancienne. Mais ne vous inquiétez pas car il est assez stable et robuste.
2. Installer Nginx
Nous allons utiliser la commande apt pour installer. Cette commande prend en charge toutes les dépendances lors de l'installation.
:~$ sudo apt install nginx
Entrez votre mot de passe pour commencer l'installation. À la fin, le service sera actif et activé pour démarrer avec le système.
Utilisez la commande ci-dessous pour démarrer et arrêter le service Nginx à l'aide de la commande systemctl
:~$ sudo systemctl stop nginx
:~$ sudo systemctl start nginx
3. Configurer le pare-feu
Vous devez configurer le pare-feu pour que votre serveur puisse accepter la connexion. Ouvrez les ports 80 et 443 à l'aide de la commande ci-dessous
:~$ sudo ufw allow 'Nginx HTTP'
Vous pouvez vérifier l'état à l'aide de la commande ci-dessous
:~$ sudo ufw status
4. Testez votre serveur
Ouvrez le navigateur Web et tapez http://IP-ADDRESS ou http://domain-name pour savoir si tout s'est bien passé
Vous devriez voir une image comme celle-ci qui indique que Nginx fonctionne correctement.
Installer PHP sur Debian
PHP est un langage de script open source largement utilisé. Il est également disponible dans le référentiel par défaut de Debian 10. Vous n'avez donc pas besoin d'ajouter de PPA tiers.
Pour installer PHP et certains de ses principaux modules, exécutez simplement la commande suivante :
:~$ sudo apt install php7.3-fpm php7.3-common php7.3-mysql php7.3-gmp php7.3-curl php7.3-intl php7.3-mbstring php7.3-xmlrpc php7.3-gd php7.3-xml php7.3-cli php7.3-zip php7.3-soap php7.3-imap
Maintenant que Nginx et PHP sont correctement installés, vous devez configurer Nginx pour pouvoir interpréter les fichiers PHP. Voyons comment procéder.
Ajout de la prise en charge de PHP à Nginx
Accédez à /var/www/html/ répertoire où les fichiers et le site Web sont traités dans Debian et modifiez le propriétaire et les autorisations de ce répertoire.
:~$ sudo chmod 755 -R /var/www/html/ :~$ sudo chown www-data:www-data -R /var/www/html/
Cela vous évitera des problèmes lors de l'exécution de sites Web et d'applications.
Ensuite, vous devez apporter quelques modifications au fichier de configuration Nginx par défaut. Ce fichier configure les pages et les sites Web qui se trouvent dans le répertoire racine par défaut. Donc, si vous ajoutez un hôte virtuel, vous devez créer un nouveau fichier de configuration.
Alors, éditez-le.
:~$ sudo nano /etc/nginx/sites-available/default
Trouver le location
section, le fichier n'est pas très volumineux donc vous le trouverez rapidement. Alors, que ce soit comme ça :
location ~ \.php$ { include snippets/fastcgi-php.conf; # With php-fpm (or other unix sockets): fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; }
Enregistrez les modifications et fermez l'éditeur.
Tester PHP avec Nginx
Maintenant, pour tester que PHP est interprété par Nginx, créons un nouveau fichier contenant du code PHP.
Ainsi, dans le répertoire racine de Nginx, créez-en un nouveau avec le phpinfo
méthode.
:~$ sudo nano /var/www/html/test.php
<?php phpinfo(); ?>
De même, enregistrez les modifications et fermez le fichier.
Pour que toutes les modifications apportées à Nginx prennent effet, le service doit être redémarré.
:~$ sudo systemctl restart nginx
Et vous pouvez vérifier l'état du service avec la commande suivante :
:~$ sudo systemctl status nginx
Maintenant, ouvrez à nouveau votre navigateur Web et ouvrez le fichier :
http://IP-ADDRESS/test.php or http://domain-name/test.php
Ainsi, Nginx et PHP se sont correctement installés sur Debian 10 Tout s'est bien passé.
Conclusion
Avec Nginx, nous pouvons conclure qu'il s'agit d'un serveur Web très efficace et surtout désireux de donner le maximum de performances possibles dans un trafic important. Aussi, pour le faire fonctionner avec PHP, cela demande un peu plus de configuration qu'Apache, mais ce n'est pas compliqué non plus et ça vaut le coup.
D'un autre côté, Nginx est un programme assez populaire avec beaucoup de documentation à lire et à étudier.
Maintenant c'est à vous, aimez-vous Nginx ? ou préférez-vous Apache ?