Основная функциональность | english русский 简体中文 עברית 日本語 türkçe новости [en] об nginx скачать безопасность [en] pgp ключи [en] документация faq ссылки [en] книги [en] поддержка пожертвования [en] trac wiki nginx.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Пример конфигурации
user www www; worker_processes 2; error_log /var/log/nginx-error.log info; events { use kqueue; worker_connections 2048; } ...
Директивы
Если
Использование метода обработки соединений
rtsig
требует обязательного включения
При включённом accept_mutex задаёт максимальное время, в течение которого рабочий процесс вновь попытается начать принимать новые соединения, если в настоящий момент этим уже занимается другой рабочий процесс.
Определяет, будет ли nginx запускаться в режиме демона. Используется в основном для разработки.
Включает отладочный лог для отдельных клиентских соединений.
Для остальных соединений используется уровень лога, заданный директивой
error_log.
Отлаживаемые соединения задаются IPv4 или IPv6 (1.3.0, 1.2.1)
адресом или сетью.
Соединение может быть также задано при помощи имени хоста.
Отладочный лог для соединений через UNIX-сокеты (1.3.0, 1.2.1)
включается параметром “ events { debug_connection 127.0.0.1; debug_connection localhost; debug_connection 192.0.2.0/24; debug_connection ::1; debug_connection 2001:0db8::/32; debug_connection unix:; ... }
Для работы директивы необходимо сконфигурировать nginx с параметром
Эта директива используется для отладки.
В случае обнаружения внутренней ошибки, например, утечки сокетов в момент
перезапуска рабочих процессов, включение
Конфигурирует запись в лог.
Первый параметр задаёт файл, который будет хранить лог.
Специальное значение
Второй параметр определяет уровень лога.
Уровни лога, указанные выше, перечислены в порядке возрастания их серьёзности.
При установке определённого уровня в лог попадают все сообщения
указанного и более серьёзных уровней.
Например, при стандартном уровне Для работы уровня лога
По умолчанию nginx удаляет все переменные окружения, унаследованные от своего родительского процесса, кроме переменной TZ. Эта директива позволяет сохранить часть унаследованных переменных, поменять им значения или же создать новые переменные окружения. Эти переменные затем:
Если переменная TZ не описана явно, то она всегда наследуется и всегда доступна модулю ngx_http_perl_module. Пример использования: env MALLOC_OPTIONS; env PERL5LIB=/data/site/modules; env OPENSSL_ALLOW_PROXY_CERTS=1;
Переменная окружения NGINX используется для внутренних целей nginx и не должна устанавливаться непосредственно самим пользователем.
Предоставляет контекст конфигурационного файла, в котором указываются директивы, влияющие на обработку соединений.
Включает в конфигурацию другой Пример использования: include mime.types; include vhosts/*.conf;
Для реализации accept_mutex и сериализации доступа к разделяемой памяти nginx использует механизм блокировок. На большинстве систем блокировки реализованы с помощью атомарных операций, и эта директива игнорируется. Для остальных систем применяется механизм файлов блокировок. Эта директива задаёт префикс имён файлов блокировок.
Определяет, будут ли запускаться рабочие процессы. Эта директива предназначена для разработчиков nginx.
Если Директива игнорируется в случае использования метода обработки соединений kqueue, т.к. данный метод сам сообщает число новых соединений, ожидающих приёма.
Использование метода обработки соединений
rtsig
автоматически включает
Эта директива появилась в версии 1.1.12. Разрешает или запрещает использование JIT-компиляции (PCRE JIT) для регулярных выражений, известных на момент парсинга конфигурации. Использование PCRE JIT способно существенно ускорить обработку регулярных выражений. Для работы JIT необходима библиотека PCRE версии 8.20 или выше, собранная с параметром конфигурации
Задаёт
Задаёт название аппаратного SSL-акселератора.
Уменьшает разрешение таймеров времени в рабочих процессах, за счёт
чего уменьшается число системных вызовов Пример использования: timer_resolution 100ms;
Внутренняя реализация интервала зависит от используемого метода:
Задаёт
Задаёт пользователя и группу, с правами которого будут работать
рабочие процессы.
Если
Эта директива появилась в версиях 1.1.4 и 1.0.7.
При использовании aio
совместно с методом обработки соединений
epoll,
задаёт максимальное
Задаёт максимальное число соединений, которое одновременно может открыть рабочий процесс. Следует иметь в виду, что в это число входят все соединения (в том числе, например, соединения с проксируемыми серверами), а не только соединения с клиентами. Стоит также учитывать, что фактическое число одновременных соединений не может превышать действующего ограничения на максимальное число открытых файлов, которое можно изменить с помощью worker_rlimit_nofile.
Привязывает рабочие процессы к группам процессоров. Каждая группа процессоров задаётся битовой маской разрешённых к использованию процессоров. Для каждого рабочего процесса должна быть задана отдельная группа. По умолчанию рабочие процессы не привязаны к конкретным процессорам. Например, worker_processes 4; worker_cpu_affinity 0001 0010 0100 1000; привязывает каждый рабочий процесс к отдельному процессору, тогда как worker_processes 2; worker_cpu_affinity 0101 1010; привязывает первый рабочий процесс к CPU0/CPU2, а второй — к CPU1/CPU3. Второй пример пригоден для hyper-threading.
Директива доступна только на FreeBSD и Linux.
Задаёт приоритет планирования рабочих процессов подобно тому,
как это делается командой Пример использования: worker_priority -10;
Задаёт число рабочих процессов.
Оптимальное значение зависит от множества факторов, включая
(но не ограничиваясь ими) число процессорных ядер, число
жёстких дисков с данными и картину нагрузок.
Если затрудняетесь в выборе правильного значения, можно начать
с установки его равным числу процессорных ядер
(значение “
Параметр
Изменяет ограничение на наибольший размер core-файла
(
Изменяет ограничение на максимальное число открытых файлов
(
На системах с поддержкой метода обработки соединений
rtsig,
изменяет ограничение на размер очереди сигналов
(
Задаёт каталог, который будет текущим для рабочего процесса. Основное применение — запись core-файла, в этом случае рабочий процесс должен иметь права на запись в этот каталог. |