Configuration NGINX

Configuration globale de NGINX

Un serveur NGINX se compose d’un master process qui gère les connexions et un ensemble de worker process qui exécute les taches. Pour une configuration optimale il faut définir un nombre de worker process équivalent au nombre de CPU de la machine hote, soit un worker process par CPU.

Le fichier de configuration /etc/nginx/nginx.conf doit contenir le paramètre suivant :

worker_processes 4;

Il est possible d’affecter une affinité par CPU pour chaque worker process et ainsi garantir l’affectation d’un worker process toujours au même CPU. Le paramètre suivant peut être défini :

worker_cpu_affinity 0001 0010 0100 1000;

Chaque worker process peut gérer un nombre de connexions simultanées. Ce nombre peut être augmenté en fonction de la charge pour améliorer les performances. Il faut ajuster ce paramètre en testant la valeur maximale acceptée, sachant que si il y a trop de connexions et donc de fichiers ouverts le serveur risque de provoquer des blocking I/O. Ci-dessous un exemple de configuration events (par défaut 1024 connexions par worker process):

events {
    worker_connections 5000;
}
La commande suivante permet de lister les processus NGINX (master et worker(s))
# ps -C nginx -f
UID        PID  PPID  C STIME TTY          TIME CMD
root      4754  3201  0 11:10 ?        00:00:00 nginx: master process /usr/sbin/nginx
www-data  4755  4754  0 11:10 ?        00:00:00 nginx: worker process
www-data  4756  4754  0 11:10 ?        00:00:00 nginx: worker process
www-data  4757  4754  0 11:10 ?        00:00:00 nginx: worker process
www-data  4758  4754  0 11:10 ?        00:00:00 nginx: worker process

Pour vérifier la version NGINX installée entrer la commande suivante :

# /usr/sbin/nginx -V
nginx version: nginx/1.0.15
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)
TLS SNI support enabled

Laisser un commentaire

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