-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathnginx.conf
123 lines (86 loc) · 6.65 KB
/
nginx.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
user nginx;
worker_processes auto;
#test
# Уменьшает число системных вызовов gettimeofday(), что приводит к увеличению производительности
#temp
timer_resolution 100ms;
# [ debug | info | notice | warn | error | crit ]
# error_log /var/log/nginx/error.log info;
events {
# Увеличиваем максимальное количество соединений одного рабочего процесса.
worker_connections 8192;
# Будет принимать максимально возможное количество соединений
multi_accept on;
}
http {
include mime.types;
include statuses;
default_type application/octet-stream;
# Метод отправки данных sendfile более эффективен, чем стандартный метод read+write
sendfile on;
# Разрешает или запрещает использование параметра сокета TCP_NOPUSH во FreeBSD или TCP_CORK в Linux. Параметр включаются только при использовании sendfile. Включение параметра позволяет:
# 1. передавать заголовок ответа и начало файла в одном пакете;
# 2. передавать файл полными пакетами.
tcp_nopush on;
# Отключение алгоритма Нейгла, включается только при переходе соединения в режим keep-alive
tcp_nodelay on;
# Увеличиваем размер буфера для тела запроса клиента (по умолчанию 8k)
client_body_buffer_size 128k;
# Уменьшаем таймаут при чтении тела запроса клиента (по умолчанию 60s)
client_body_timeout 15s;
# Уменьшаем таймаут при чтении заголовка запроса клиента (по умолчанию 60s)
client_header_timeout 15s;
# Увеличиваем ограничение на размер тела запроса клиента (по умолчанию 1m)
client_max_body_size 8m;
# Будет ждать 20 секунд перед закрытием keepalive соединения
keepalive_timeout 60s;
# Максимальное количество keepalive запросов от одного клиента
keepalive_requests 100;
# Разрешаем серверу сброс соединений по таймауту
reset_timedout_connection on;
# Уменьшаем таймаут при передаче ответа клиенту (по умолчанию 60s), если по истечении этого времени клиент ничего не примет, соедниение будет закрыто
send_timeout 15s;
# Минимальный размер файла для прямого чтения с диска, в обход файлового кэша
directio 8m;
# В случае необходимости включаем ограничение скорости:
# Порог отдачи, после которого начинает действовать ограничение скорости
#limit_rate_after 2m;
# Ограничение на скорость скачивания в рамках одного запроса - экономим полосу пропускания
#limit_rate 196K;
# Настраиваем кэш, в котором хранятся дескрипторы открытых файлов, информация об их размерах и времени модифиакции, информация о существовании каталогов, информация об ошибках поиска файла:
# Включаем кэш, определяет максимальное количество файлов, информация о которых будет содержаться в кеше и время через которое элемент кэша удаляется, если к нему не было обращений
open_file_cache max=2000 inactive=20s;
# Определяет время, через которое следует проверять актуальность информации об элементе
open_file_cache_valid 20s;
# Будет кешировать информацию о тех файлах, которые были использованы хотя бы 2 раза
open_file_cache_min_uses 2;
# Будет кешировать информацию об отсутствующих файлах
open_file_cache_errors on;
# Увеличиваем максимальный размер хэш-таблиц имен серверов ( по умолчанию 512)
server_names_hash_max_size 262144;
# Не показываем версию nginx
server_tokens off;
# Задаем URI, который будет показываться для данных ошибок (также смотрим error_page/50x_location)
#error_page 500 501 502 503 504 /50x.html;
# Определяем формат access-логов
include log/format;
# Если используем nginx как reverse proxy, подключаем конфиги в каталоге proxy:
#include proxy/settings;
#include proxy/buffers;
# Если необходим балансировка нагрузки и/или failover, редактируем и подключаем конфиг в каталоге upstream:
#include upstream/backend;
# Если работаем с FastCGI-сервером, подключаем конфиги в каталоге fastcgi:
#include fastcgi/buffers;
# Если необходимо кэшировать ответы от проксируемого сервера включаем:
#include proxy/cache;
# Включаем сжатие ответов gzip-ом
include gzip/static_and_module;
# Добавляем полезные поля в заголовки ответа
#include security/add_header;
# Для доступа к внутренней статистики nginx подключаем конфиг:
#include stub/status;
# https://github.com/mariusv/nginx-badbot-blocker
include nginx-badbot-blocker/blacklist.conf;
include nginx-badbot-blocker/blockips.conf;
include vhosts.d/*;
}