Ajout infos sur HowtoNginx
This commit is contained in:
parent
afdb7fc0eb
commit
e48622132e
|
@ -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 : <https://nginx.org/en/docs/>
|
||||||
|
|
||||||
<http://wiki.nginx.org/Configuration>
|
[Nginx](https://nginx.org/) est un serveur [HTTP](HowtoHTTP) léger et puissant.
|
||||||
|
|
||||||
## Installation
|
## 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;
|
user www-data;
|
||||||
worker_processes 8;
|
worker_processes 8;
|
||||||
|
pid /var/run/nginx.pid;
|
||||||
error_log /var/log/nginx/error.log;
|
|
||||||
pid /var/run/nginx.pid;
|
|
||||||
|
|
||||||
events {
|
events {
|
||||||
worker_connections 10240;
|
use epoll;
|
||||||
|
worker_connections 10240;
|
||||||
}
|
}
|
||||||
|
|
||||||
http {
|
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
|
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
|
||||||
On ajustera ainsi le max open files :
|
|
||||||
|
|
||||||
~~~
|
|
||||||
# cat /etc/default/nginx
|
|
||||||
ulimit -n 305855
|
|
||||||
~~~
|
|
||||||
|
|
||||||
Enfin, on peut déléguer un certain nombre d'options générales dans des fichiers /etc/nginx/conf.d/*.conf
|
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
|
||||||
gzip_types text/css application/x-javascript text/javascript;
|
gzip_types text/css application/x-javascript text/javascript;
|
||||||
gzip_comp_level 5;
|
gzip_comp_level 5;
|
||||||
# <http://blog.leetsoft.com/2007/7/25/nginx-gzip-ssl>
|
# http://blog.leetsoft.com/2007/7/25/nginx-gzip-ssl
|
||||||
gzip_buffers 16 8k;
|
gzip_buffers 16 8k;
|
||||||
|
|
||||||
# HTTP cache
|
# 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
|
configuration file /etc/nginx/nginx.conf test is successful
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
### Stats Munin
|
## Munin
|
||||||
|
|
||||||
Ajouter dans la configuration Nginx :
|
Ajouter dans la configuration Nginx :
|
||||||
|
|
||||||
|
@ -246,7 +271,7 @@ Attention, ssl_certificate doit contenir toute la chaîne de certification, donc
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# cd /tmp
|
# cd /tmp
|
||||||
# wget <https://www.startssl.com/certs/class1/sha2/pem/sub.class1.server.sha2.ca.pem>
|
# 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
|
# cat sub.class1.server.sha2.ca.pem >> /etc/ssl/certs/ssl.example.com.crt
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue