Mise en place d’un serveur web Nginx sur un VPS sous Debian

Linux - Debian

Selon notre ami Wikipédia, NGINX Open Source ou NGINX (prononcé [ˌɛndʒɪnˈɛks] et également orthographié Nginx ou nginx) est un logiciel libre de serveur Web (ou HTTP) ainsi qu'un proxy inverse écrit par Igor Sysoev, dont le développement a débuté en 2002 pour les besoins d'un site russe à très fort trafic (Rambler). La documentation est disponible en plusieurs langues. C'est depuis avril 2019, qu’il est devenu le serveur web le plus utilisé au monde d'après Netcraft, ou le deuxième serveur le plus utilisé d'après W3techs.

NGINX Inc a été racheté par F5 Networks le 11 mars 2019, pour 670 millions de dollars.

Ses sources sont disponibles sous une licence de type BSD.

Installation de Nginx

Si ce n’est pas déjà fait, pour installer Ngnix sur votre serveur linux suivez les instructions suivantes :

  • Recherchez rapide dans liste de paquet de Debian :
apt-cache search nginx


Il y aura une liste de plusieurs packages qui va s’afficher et essayer de trouver ceci : 

image_1_CoDNfPXp6.png

  • Mettez à jour votre dépôt :
sudo apt update
  • Installez le paquet nginx :
sudo apt install nginx
  • Vérifiez que nginx est bien installé et opérationnel :
sudo nginx -v

Cette commande ci-dessus va montrer la version de « nginx » que vous utilisez. 

Vous pouvez aussi tapez l’adresse IP de votre serveur dans votre navigateur pour voir la page d’accueil par défaut de « nginx » et être rassuré que l’installation s’est bien déroulée.

image_2_LuH67Leuz.png

Si vous voulez obtenir plus d’informations sur l’installation de « nginx » sur Debian ou autre distribution, voici la documentation officielle concernant cela.

Configuration de Nginx

Nous allons maintenant voir comment mettre en place une configuration dans notre serveur « nginx ».

Si vous voulez comprendre toutes les fonctionnalités cœurs de « nginx », veuillez-vous rediriger vers cette page http://nginx.org/en/docs/ngx_core_module.html.

I y a beaucoup de paramètres, modules etc. que vous pouvez mettre en place mais nous ce qui nous intéresse ce sont les configurations qui nous permettent de mettre en ligne notre site internet.

Nous allons partir du fait que vous avez déjà un nom de domaine. Pour un super site, voici donc les étapes à faire afin de rendre accessible votre site avec le serveur nginx : 

1- Création d‘un répertoire pour votre site

D’abord on va mettre votre site quelque part sur votre serveur. Pour ma part, je vais mettre mon site dans « /home/afdev/www » et stocker les logs dans « /home/afdev/logs ».

Voici les commandes à taper : 

  • Se rendre dans notre espace utilisateur
cd /home/afdev 
  • Création du répertoire « www »
sudo mkdir www 
  • Création du répertoire « logs »
sudo mkdir logs

Et maintenant nous allons télécharger notre site dans le répertoire « www ». Vous pouvez utiliser n’importe quel logiciel FTP pour le faire, moi je vais utiliser FilleZilla.

Utiliser le protocole « SFTP » pour vous connecter avec SSH. 

File_transfert_protocol_6UL7em1Zy.png


2- Création d’un fichier de configuration

  • Rendez-vous dans le répertoire où se situent les fichiers configurations de nginx :
cd /etc/nginx/conf.d
  • Créez un fichier de configuration, pour mon cas je vais l’appeler « fredoandrianaivo.com »
sudo vim fredoadrinaivo.conf
  • Ecrivez les lignes suivantes sur le fichier (adaptez-le par rapport au vôtre):
server{
 listen 80; 
 server_name fredoandrianaivo.com; 
 root /home/afdev/www;
 index index.html; 
 error_log /home/afdev/logs/error_logs;
 access_log /home/afdev/logs/access_logs;
}

server{
 listen 80;
 server_name www.fredoandrianaivo.com;
 return 301 http://fredoandrianaivo.com:80$request_uri;
}

3- Modification du ficher de configuration par défaut « default »

Allez dans le répertoire « sites-available » pour modifier le fichier de configuration par défaut qui affiche la page d’accueil de « nginx ».

Une fois ce fichier modifié faite ceci :

  • Commenter la ligne où est indiqué « root /var/www/html ».
  • Retourner une redirection vers votre domaine « return 301 http://fredoandrianaivo.com:80$request_uri ». Cela va rediriger les requêtes depuis l’adresse IP de votre serveur ou votre nom de domaine vers votre site.
  • Redémarrer « nginx » pour appliquer les changements.
sudo service nginx restart

Voir l’image ci-dessous pour plus de précisions:

image_3_HTS5lMw4n.png

Et voilà, votre site est désormais accessible à tout le monde.

Pour mon cas, j’ai uploadé un Template de site de vente en ligne statique pour faire cet article.

image_4_sIY-KIW2C.png

Conclusion

Nginx est un serveur web « open source » qui est réputé pour avoir une bonne performance, surtout dans la gestion de requêtes assez nombreuses. Nous venons de voir que même l’installer sur un VPS sous Debian est assez facile et que tout le monde peut le faire. 

Comme vous avez pu le voir dans ce post, il n’est pas très compliqué de déployer un site web avec ce serveur. Il vous suffit de créer un répertoire pour mettre votre site, ajouter un fichier de configuration spécifique pour votre site et modifier le fichier de configuration par défaut dans « sites-available » pour le faire pointer vers votre site.

Dans cet article nous avons vu comment déployer notre site de manière très simple. Pour savoir comment générer un certificat ssl pour notre site, comment déployer une application NextJS, je vous invite à être attentif à mes nouvelles publications dans les jours à venir. 

Publié le 17/06/2023