From e48622132e04318cdfdc468706842993f731e942 Mon Sep 17 00:00:00 2001 From: Gregory Colpart Date: Wed, 21 Jun 2017 01:11:54 +0200 Subject: [PATCH] Ajout infos sur HowtoNginx --- HowtoNginx.md | 77 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 51 insertions(+), 26 deletions(-) diff --git a/HowtoNginx.md b/HowtoNginx.md index 0165de57..37c34fce 100644 --- a/HowtoNginx.md +++ b/HowtoNginx.md @@ -1,32 +1,56 @@ -**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.** +--- +categories: web +title: Howto Nginx +... -# Howto Nginx +* Documentation : - +[Nginx](https://nginx.org/) est un serveur [HTTP](HowtoHTTP) léger et puissant. ## Installation -Sous Debian on peut installer la version 1.2.1 (Wheezy) ou 1.6.2 (Jessie) : - ~~~ -# aptitude install nginx +# apt install nginx + +$ /usr/sbin/nginx -v +nginx version: nginx/1.6.2 ~~~ -## Configuration +## Configuration de base -### Configuration de base +Fichiers de configuration : -La configuration principale se fait dans le fichier /etc/nginx/nginx.conf + /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 + + +La configuration principale se fait dans le fichier `/etc/nginx/nginx.conf` : ~~~ user www-data; -worker_processes 8; - -error_log /var/log/nginx/error.log; -pid /var/run/nginx.pid; +worker_processes 8; +pid /var/run/nginx.pid; events { - worker_connections 10240; + use epoll; + worker_connections 10240; } http { @@ -34,19 +58,20 @@ http { [...] ~~~ -L'un des paramètres à ajuster immédiatement est le *worker_processes*. Les _worker processes_ sont les processus fils lancés par le père (le coeur de nginx), ce sont eux qui font tout le travail, ils ne sont pas multi-threadé. *Il est recommandé de mettre autant de _worker processes_ que de cores disponibles sur votre serveur.* (cf /proc/cpuinfo) +L'un des paramètres à ajuster immédiatement est le *worker_processes*. Les _worker processes_ sont les processus fils lancés par le père (le coeur de nginx), ce sont eux qui font tout le travail, ils ne sont pas multi-threadés : il est recommandé de mettre autant de _worker processes_ que de cores disponibles sur votre serveur. ~~~ -worker_processes 16; +# mkdir /etc/systemd/system/nginx.service.d/ +# vim /etc/systemd/system/nginx.service.d/override.conf + +[Service] +LimitNOFILE=10240 + +# systemctl daemon-reload +# systemctl restart nginx ~~~ -On peut également mettre des paramètres système dans le fichier /etc/defaut/nginx -On ajustera ainsi le max open files : - -~~~ -# cat /etc/default/nginx -ulimit -n 305855 -~~~ +TODO : à voir si on peut pas remplacer par worker_rlimit_nofile : lire http://siawyoung.com/coding/sysadmin/nginx/core-nginx-configuration-http-load-testing.html Enfin, on peut déléguer un certain nombre d'options générales dans des fichiers /etc/nginx/conf.d/*.conf @@ -59,7 +84,7 @@ server_tokens off; # GZIP gzip_types text/css application/x-javascript text/javascript; gzip_comp_level 5; -# +# http://blog.leetsoft.com/2007/7/25/nginx-gzip-ssl gzip_buffers 16 8k; # HTTP cache @@ -79,7 +104,7 @@ Avant de redémarrer le serveur, vérifier que vous n'ayez pas introduit des err configuration file /etc/nginx/nginx.conf test is successful ~~~ -### Stats Munin +## Munin Ajouter dans la configuration Nginx : @@ -246,7 +271,7 @@ Attention, ssl_certificate doit contenir toute la chaîne de certification, donc ~~~ # cd /tmp -# wget +# wget https://www.startssl.com/certs/class1/sha2/pem/sub.class1.server.sha2.ca.pem # cat sub.class1.server.sha2.ca.pem >> /etc/ssl/certs/ssl.example.com.crt ~~~