Installation et configuration de base de Nginx

Par Matthieu OLIVIER, Mar 31 décembre 2013, modifié le Lun 25 août 2014, dans la catégorie Hosting

debian, nginx, ubuntu

Ci-dessous un petit aide-mémoire concernant l'installation de Nginx sur une distribution Ubuntu Server (64 bits).

Installation de Nginx

Sur une machine vièrge, installation du serveur Nginx à partir du dépôt officiel.

# Installation de la clef du dépôt Nginx
wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key && rm nginx_signing.key

# Ajout du dépôt à la liste des sources
# Ajout des lignes suivants en fin de fichier
echo deb http://nginx.org/packages/ubuntu/ $(lsb_release --codename | cut -f2) nginx >> /etc/apt/sources.list
echo deb-src http://nginx.org/packages/ubuntu/ $(lsb_release --codename | cut -f2) nginx >> /etc/apt/sources.list
# Installation
apt-get update
apt-get install nginx

Optimisation de la configuration de base de Nginx

Le fichier de configuration nécessite quelques retouches afin d'optimiser les performances de Nginx.

# Emplacement du fichier de configuration à éditer
nano /etc/nginx/nginx.conf

Ci-dessous les paramètres principaux à modifier :

# Nombre de processus alloués au serveur
# Un processus par core
# Mettre sur "auto" ou cat /proc/cpuinfo | grep processor | wc -l
worker_processes  auto;

# Dans la section events (optimisation pour linux)
events {
    worker_connections  1024;
    use epoll;
    multi_accept on;
}

# Dans la section http
# Envoi du header en une seule fois
sendfile        on;
tcp_nopush     on;
tcp_nodelay        on;

# Activation de la compression gzip 
gzip  on;
gzip_vary on;
gzip_min_length 10240;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css text/xml application/javascript;

open_file_cache          max=5000 inactive=20s;
open_file_cache_valid    30s;
open_file_cache_min_uses 2;
open_file_cache_errors   on;

# Ne pas afficher la version du serveur (sécurité)
server_tokens off;

Il est temps de tester le nouveau fichier de configuration et de redémarrer le service.

# Test du fichier de configuration
/etc/init.d/nginx configtest

# Redémarrage du service
service nginx restart

Aller plus loin