Menu

Serveur web Nginx

1 novembre 2016 - Internet, Linux
Serveur web Nginx

 


I.   Pourquoi Nginx?

 

A force d’en entendre parler, j’ai voulu le tester. Habituellement j’utilise lighttpd (sur des serveurs avec peu de ressources ou à la maison) et apache. Nginx est dit plus léger et consommant moins de mémoire RAM. Alors c’est tentant 😛

 


II.   Installation de Nginx

 

Alors, nous allons utiliser Ubuntu Server 14.04 LTS. Vous allez voir l’installation est vraiment très compliquée 😀

Il suffit de faire:

sudo apt-get update
sudo apt-get intall nginx

 

Vous pouvez tester dés à present en ouvrant votre navigateurs web préféré et entrez l’adresse ip de votre serveur dans la barre d’adresse.

Vérification si nginx est fonctionnel

 

 


III.   Configuration de Nginx

 

Pour la configuration tout se passe dans le dossier /etc/nginx

total 72
drwxr-xr-x 5 root root 4096 Apr 5 21:31 ./
drwxr-xr-x 92 root root 4096 Apr 5 21:43 ../
drwxr-xr-x 2 root root 4096 Feb 11 17:26 conf.d/
-rw-r–r– 1 root root 911 Mar 4 2014 fastcgi_params
-rw-r–r– 1 root root 2258 Mar 4 2014 koi-utf
-rw-r–r– 1 root root 1805 Mar 4 2014 koi-win
-rw-r–r– 1 root root 2085 Mar 4 2014 mime.types
-rw-r–r– 1 root root 5287 Mar 4 2014 naxsi_core.rules
-rw-r–r– 1 root root 287 Mar 4 2014 naxsi.rules
-rw-r–r– 1 root root 222 Mar 4 2014 naxsi-ui.conf.1.4.1
-rw-r–r– 1 root root 1601 Mar 4 2014 nginx.conf
-rw-r–r– 1 root root 180 Mar 4 2014 proxy_params
-rw-r–r– 1 root root 465 Mar 4 2014 scgi_params
drwxr-xr-x 2 root root 4096 Apr 5 21:39 sites-available/
drwxr-xr-x 2 root root 4096 Apr 5 21:40 sites-enabled/
-rw-r–r– 1 root root 532 Mar 4 2014 uwsgi_params
-rw-r–r– 1 root root 3071 Mar 4 2014 win-utf

 

Le fonctionnement: on créer les fichiers de configurations pour chacun site dans le dossier  sites-available puis on créer un lien symbolique dans le dossier sites-enable pour activer la configuration du site en question.

Et bien c’est parti lançons nous.

Commençons par supprimer le site par défaut.

sudo rm /etc/nginx/sites-enabled/default

 

Ensuite nous allons créer notre dossier où l’on va mettre notre ou nos sites web. Puis une page html simpliste

sudo mkdir /var/www/test

sudo nano /var/www/test/index.html

<html><body>Ma page de test</body></html>

 

Maintenant, passons à la configuration de ce site.  Adaptez à votre situation.

sudo nano /etc/nginx/sites-available/monsitedetest

# Mon site de test

server {
listen 80;

root /var/www/test;
index index.html index.htm;

server_name localhost;

location / {
# First attempt to serve request as file, then
# as directory, then fall back to index.html
try_files $uri $uri/ /index.html;
}
}

 

Il faut activer notre fichier de configuration pour cela on créé un lien symbolique.

cd /etc/nginx/sites-enabled

sudo ln -s ../sites-available/monsitedetest

Un petit redémarrage de Nginx

sudo service nginx restart

 

Maintenant si l’on retourne sur notre navigateur à l’adresse : http://ip_de_votre_serveur nous avons:

 

Voici notre page de test

 

Bien voila en 5 minutes vous avez installer et configurer votre serveur web.


IV.   Modules à rajouter

 

A ce stade Nginx ne prend pas (encore) en charge le php, il va falloir le rajouter. La encore rien de bien compliqué.

sudo apt-get install php5-fpm

 

Il nous reste plus qu’à modifier notre fichier de configuration de notre site de test.

sudo nano /etc/nginx/sites-available/monsitedetest

# Mon site de test

server {
listen 80;

root /var/www/test;
index index.html index.htm;

server_name localhost;

location / {
# First attempt to serve request as file, then
# as directory, then fall back to index.html
try_files $uri $uri/ /index.html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
include /etc/nginx/fastcgi_params;
fastcgi_index index.php;
}

}

 

De nouveau un petit redémarrage de Nginx

sudo service nginx restart

 

On créer un fichier de test php pour vérifier que tous est OK.

sudo nano /var/www/info.php

<?php

phpinfo();

?>

Retournons sur notre navigateur à l’adresse : http://ip_de_votre_serveur :

 

PhpInfo

 


Mise à jour: Si vous avez une blank page (page vierge) = error 200

remplacer dans le fichier /etc/nginx/sites-available/monsitedetes ceci:

include /etc/nginx/fastcgi_params;

PAR

include /etc/nginx/fastcgi.conf;


 

Voila tout est bon, vous pouvez créer votre site.

Pour plus de configuration n’hésitez pas à visiter le site de nicolargo dont je me suis inspiré.


Étiquettes : ,

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *