NGINX Open Source ou NGINX est un logiciel libre de serveur Web ainsi qu'un proxy inverse écrit par Igor Sysoev.
Table des matières
sudo apt install nginx
sudo service nginx start
Vous pouvez tester dés à present en ouvrant votre navigateurs web préféré et entrez l’adresse ip de votre serveur ou localhost dans la barre d’adresse :
cd /etc/nginx
ls -l
total 64
drwxr-xr-x 2 root root 4096 mai 25 19:10 conf.d
-rw-r--r-- 1 root root 1077 fév 4 2019 fastcgi.conf
-rw-r--r-- 1 root root 1007 fév 4 2019 fastcgi_params
-rw-r--r-- 1 root root 2837 fév 4 2019 koi-utf
-rw-r--r-- 1 root root 2223 fév 4 2019 koi-win
-rw-r--r-- 1 root root 3957 fév 4 2019 mime.types
drwxr-xr-x 2 root root 4096 mai 25 19:10 modules-available
drwxr-xr-x 2 root root 4096 sep 22 17:35 modules-enabled
-rw-r--r-- 1 root root 1490 fév 4 2019 nginx.conf
-rw-r--r-- 1 root root 180 fév 4 2019 proxy_params
-rw-r--r-- 1 root root 636 fév 4 2019 scgi_params
drwxr-xr-x 2 root root 4096 sep 24 04:14 sites-available
drwxr-xr-x 2 root root 4096 sep 22 17:35 sites-enabled
drwxr-xr-x 2 root root 4096 sep 22 17:35 snippets
-rw-r--r-- 1 root root 664 fév 4 2019 uwsgi_params
-rw-r--r-- 1 root root 3071 fév 4 2019 win-utf
cd /var/www/
sudo mkdir /var/www/site1
sudo mkdir /var/www/site2
sudo chown david:david site1 site2
Normalement si vous faite un ls -l vous devriez avoir:
ls -l
total 12
drwxr-xr-x 2 root root 4096 sep 24 04:16 html
drwxr-xr-x 2 david david 4096 sep 22 19:16 site1
drwxr-xr-x 2 david david 4096 sep 22 19:07 site2
touch /var/www/site1/index.html
touch /var/www/site2/index.html
vim /var/www/site1/index.html
Sur la fenetre qui s'ouvre taper i puis Bienvenue sur le site 1 puis echap puis taper :x pour fermer est enristrer le fichier
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/site1
sudo vim /etc/nginx/sites-available/site1
Notre fichier devrait ressembler à ca :
# site1
server {
listen 80;
listen [::]:80;
root /var/www/site1;
index index.html index.htm index.nginx-debian.html;
server_name site1.local;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
}
Sauvegarder votre ficher site1 (esc puis :x) et refaite la même chose chose pour site2.sudo cp /etc/nginx/sites-available/site1 /etc/nginx/sites-available/site2
sudo vim /etc/nginx/sites-available/site2
# site2
server {
listen 80;
listen [::]:80;
root /var/www/site2;
index index.html index.htm index.nginx-debian.html;
server_name site2.local;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
}
Sauvegarder votre ficher site2 (esc puis :x).Maintenant que tous est presque fini nous allons éditer notre fichier hosts et ajouter les correspondances adresse IP et noms de domaines :
sudo vim /etc/hosts
C:\Windows\System32\drivers\etc\hosts
127.0.0.1 site1.local
127.0.0.1 site2.local
L’étape finale de notre configuration consiste à activer les blocs server que nous avons crée.
Donc nous allons créer des liens symboliques vers le répertoire sites-enable que nginx lit toujours au démarrage. :
sudo ln -s /etc/nginx/sites-available/site1 /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2 /etc/nginx/sites-enabled/
sudo nginx -t
Si tout se passe bien nous devrons avoir quelque chose qui ressemble à ca :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
sudo service nginx reload
curl site1.local
Notre fichier devrait ressembler à ca :
<html><body>Bienvenue sur le site 1</body></html>
Si problème faire sudo service nginx start
cd /var/www/site1
puis
code .
Voila maintenant nous savons héberger plusieurs sites dans un même serveur avec Nginx. Il n’y pas de limite pour les servers blocks vous pouvez en créer autant que vous voulez mais dépendant de la capacité de votre serveur bien sûr.
sudo apt install php7.4-fpm
sudo apt install php7.4-cli
sudo mkdir /var/www/site3
cd /var/www
sudo chown david:david site3
touch /var/www/site3/index.php
vim /var/www/site3/index.php
Sur la fenetre qui s'ouvre taper i puis <?php phpinfo(); ?>
puis echap puis taper :x pour fermer est enristrer le fichier
sudo vim /etc/nginx/sites-available/site3
# Site3
server {
listen 80;
listen [::]:80;
root /var/www/site3;
# Add index.php to the list if you are using PHP
index index.html index.php index.nginx-debian.html;
server_name site3.local;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
}
sudo ln -s /etc/nginx/sites-available/site3 /etc/nginx/sites-enabled/
sudo nginx -t
Si tout se passe bien nous devrons avoir quelque chose qui ressemble à ca :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Maintenant que tous est presque fini nous allons éditer notre fichier hosts et ajouter les correspondances adresse IP et noms de domaines :
C:\Windows\System32\drivers\etc\hosts
127.0.0.1 site1.local
127.0.0.1 site2.local
127.0.0.1 site3.local
sudo service nginx reload
sudo service php7.4-fpm restart