Персональный
сайт
Игоря
Сысоева


 
english
 
sysoev.ru
 
nginx
 поехали!    
 документация    
 поддержка    
 изменения    
 скачать    
 ссылки    
 
mod_accel
mod_realip
mod_deflate
программирование
всякая всячина
windows
freebsd
apache
pppd
unix
web
 
обо мне
для писем
для денег
 

Глобальные директивы

 

01.09.2008

Содержание

Пример конфигурации
Директивы
daemon
env
include
master_process
pid
ssl_engine
user
timer_resolution
worker_rlimit_core
worker_rlimit_nofile
worker_priority
worker_processes
working_directory

Пример конфигурации


user               www  www;
worker_processes   2;

error_log   /var/log/nginx-error.log  info;

events {
    use    kqueue;
    worker_connections   2048;
}

...

Директивы


syntax: daemon on|off
default: daemon on
context: main

Директива определяет, будет ли nginx запускаться в режиме демона. Используется в основном для разработки.


syntax: env VAR|VAR=VALUE
default: env TZ
context: main

Директива позволяет ограничить набор переменных среды, поменять им значения или же создать новые переменные для следующих случаев:

  • наследование переменных во время обновления исполняемого файла на лету;
  • использование переменных модулем ngx_http_perl_module;
  • использование переменных рабочими процессами. Однако нужно иметь в виду, что управление поведением системных библиотек подобным образом возможно не всегда, поскольку зачастую библиотеки используют переменные только во время инициализации, то есть ещё до того, как их можно задать с помощью данной директивы. Исключением из этого является вышеописанное обновление исполняемого файла на лету.

Если переменная TZ не описана явно, то она всегда наследуется и всегда доступна модулю ngx_http_perl_module.

Пример использования:

env  MALLOC_OPTIONS;
env  PERL5LIB=/data/site/modules;
env  OPENSSL_ALLOW_PROXY_CERTS=1;


syntax: include файл|маска
default: нет
context: везде

Директива позволяет включить в конфигурацию другой файл. Файл должен содержать синтаксически законченные директивы и блоки.

Пример использования:

include  mime.types;
include  vhosts/*.conf;


syntax: master_process on|off
default: master_process on
context: main

Директива определяет, будут ли запускаться рабочие процессы. Используется только для разработки.


syntax: pid файл
default: pid nginx.pid
context: main

Директива задаёт файл, в котором хранится номер основго процесса.


syntax: ssl_engine устройство
default: нет
context: main

Директива задаёт название аппартного SSL-акселератора.


syntax: user пользователь [группа]
default: user nobody nobody
context: main

Директива задаёт пользователя и группу, с правами которого будут работать рабочие процессы. Если группа не задана, то используется группа, имя которой совпадает с именем пользователя.


syntax: timer_resolution время
default: нет
context: main

Директива уменьшает разрешение времени в рабочих процессах, за счёт чего уменьшается число системных вызовов gettimeofday(). По умолчанию gettimeofday() вызывается после каждой операции получения событий из ядра. C уменьшенным разрешением gettimeofday() вызывается только один раз за указанный интервал.

Пример использования:

timer_resolution   100ms;

Внутренняя реализация интервала зависит от используемого метода:

  • фильтр EVFILT_TIMER при использовании kqueue;
  • timer_create() при использовании eventport;
  • и setitimer() во всех остальных случаяx.


syntax: worker_rlimit_core размер
default: нет
context: main

Директива изменяет ограничение на размер core-файла RLIMIT_CORE для рабочего процесса. Используется для увеличения ограничения без перезапуска основного процесса.


syntax: worker_rlimit_nofile число
default: нет
context: main

Директива изменяет ограничение на число используемых файлов RLIMIT_NOFILE для рабочего процесса. Используется для увеличения ограничения без перезапуска основного процесса.


syntax: worker_priority число
default: worker_priority 0
context: main

Директива задаёт приоритет рабочих процессов подобно тому, как это делается командой nice: отрицательное число означает более высокий приоритет. Диапазон возможных значений, как правило, от -20 до 20.

Пример использования:

worker_priority  -10;


syntax: worker_processes число
default: worker_processes 1
context: main

Директива задаёт число рабочих процессов.


syntax: working_directory путь
default: нет
context: main

Директива задаёт каталог, который будет текущим для рабочего процесса. Основное применение — запись core-файла, в этом случае рабочий процесс должен иметь права на запись в этот каталог.


(C) Игорь Сысоев
http://sysoev.ru