Installation de nginx

Il y a les outils pour créer des sites web (symfony2, gohugo, ghost, …) mais il y a aussi les outils derrières pour que ceux-ci puissent fonctionner sur le serveur.

Pour faire tourner un serveur web beaucoup utilisent apache2. Mais depuis plusieurs année nginx (une alternative) est utilisé par une grand nombre.

NGINX_logo_rgb-01

J’ai pu travailler sur différent projet où un serveur web sur nginx tournait. Mais je n’ai jamais eu le loisir d’un installer un moi-même ni d’en configurer un. (… shame one me …)

Ayant plusieurs outil de création de site que je souhaite tester, je vais profiter de ces projets pour utiliser ce serveur web dont j’ai beaucoup entendu parlé, mais que je n’ai pas testé.

La première étape sera donc l’installation.

$ sudo apt-get install nginx

Après installation, on pourra voir constater que l’arborescence du programme ressemble sensiblement à ce que l’on peut retrouver avec apache2 :

$ tree /etc/nginx          
/etc/nginx
├── conf.d
├── fastcgi.conf
├── fastcgi_params
├── koi-utf
├── koi-win
├── mime.types
├── nginx.conf
├── proxy_params
├── scgi_params
├── sites-available
│   └── default
├── sites-enabled
│   └── default -> /etc/nginx/sites-available/default
├── snippets
│   ├── fastcgi-php.conf
│   └── snakeoil.conf
├── uwsgi_params
└── win-utf

Mon projet web sera un site pour ma « whislist ». Je créer donc un fichier qui contiendra la configuration du serveur web pour ce projet

$ sudo vim /etc/nginx/sites-available/whislist
server {
    listen 80;
    server_name www.whishlist.scorfly.ovh whishlist.scorfly.ovh;

    # log file
    access_log /var/log/nginx/default.access.whishlist.log;

    # hide nginx version on error page
    server_tokens off;

    # Allow only GET and HEAD request
    # i'm creating a full static web site
    if ($request_method !~ ^(GET|HEAD)$ ) {
        return 444; # No Response
    }

    location / {
        # Be sure this folder and file are created
        root   /var/www/whishlist;
        index  index.html;
    }
}

On active le host :

$ sudo ln -s /etc/nginx/site-available/whishlist /etc/nginx/sites-enabled/

Et pour finir on restart notre serveur web :

$ sudo /etc/init.d/nginx restart
[ ok ] Restarting nginx (via systemctl): nginx.service.

Mon site est maintenant accessible grace à cette configuration très basique.
Nous verrons par la suite les changements qui seront apporté a cette configuration suivant les besoins que je pourrais avoir au fur et à mesure des différents projets.

Laisser un commentaire

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