| <?xml version="1.0"?> | |
| <!DOCTYPE module SYSTEM "../dtd/module.dtd"> | |
| <module name="Core Module" id="core_module"> | |
| <section id="example" name="Example Configuration"> | |
| <para> | |
| <example> | |
| user www www; | |
| worker_processes 2; | |
| error_log /var/log/nginx-error.log info; | |
| events { | |
| use kqueue; | |
| worker_connections 2048; | |
| } | |
| ... | |
| </example> | |
| </para> | |
| </section> | |
| <section id="directives" name="Directives"> | |
| <directive name="daemon"> | |
| <syntax>daemon <value>on</value> | <value>off</value></syntax> | |
| <default>daemon on</default> | |
| <context>main</context> | |
| <para> | |
| Determines whether nginx should become a daemon. | |
| Mainly used during development. | |
| </para> | |
| </directive> | |
| <directive name="env"> | |
| <syntax>env <argument>VAR</argument>[=<argument>VALUE</argument>]</syntax> | |
| <default>env TZ</default> | |
| <context>main</context> | |
| <para> | |
| Allows to limit a set of environment variables, change their values, | |
| or create new environment variables, for the following cases: | |
| <list type="bullet"> | |
| <listitem> | |
| variable inheritance during a | |
| <link doc="control.xml" id="upgrade">live upgrade</link> | |
| of an executable file; | |
| </listitem> | |
| <listitem> | |
| use of variables by the module | |
| <link doc="http/ngx_http_perl_module.xml">ngx_http_perl_module</link>; | |
| </listitem> | |
| <listitem> | |
| use of variables by worker processes. | |
| Please bear in mind that controlling system libraries in this way | |
| is not always possible as it is not uncommon for libraries to check | |
| variables only during initialization, well before they can be set | |
| using this directive. | |
| An exception from this is an above mentioned | |
| <link doc="control.xml" id="upgrade">live upgrade</link> | |
| of an executable file. | |
| </listitem> | |
| </list> | |
| </para> | |
| <para> | |
| The TZ variable is always inherited and made available to the module | |
| <link doc="http/ngx_http_perl_module.xml">ngx_http_perl_module</link>, | |
| unless configured explicitly. | |
| </para> | |
| <para> | |
| Usage example: | |
| <example> | |
| env MALLOC_OPTIONS; | |
| env PERL5LIB=/data/site/modules; | |
| env OPENSSL_ALLOW_PROXY_CERTS=1; | |
| </example> | |
| </para> | |
| </directive> | |
| <directive name="include"> | |
| <syntax>include <argument>file</argument> | <argument>mask</argument></syntax> | |
| <default/> | |
| <context/> | |
| <para> | |
| Includes another <argument>file</argument>, or files matching the | |
| specified <argument>mask</argument>, into configuration. | |
| Included files should consist of | |
| syntactically correct directives and blocks. | |
| </para> | |
| <para> | |
| Usage example: | |
| <example> | |
| include mime.types; | |
| include vhosts/*.conf; | |
| </example> | |
| </para> | |
| </directive> | |
| <directive name="master_process"> | |
| <syntax>master_process <value>on</value> | <value>off</value></syntax> | |
| <default>master_process on</default> | |
| <context>main</context> | |
| <para> | |
| Determines whether worker processes are started. | |
| This directive is intended for nginx developers. | |
| </para> | |
| </directive> | |
| <directive name="pid"> | |
| <syntax>pid <argument>file</argument></syntax> | |
| <default>pid nginx.pid</default> | |
| <context>main</context> | |
| <para> | |
| Defines a <argument>file</argument> which will store the process ID of the main process. | |
| </para> | |
| </directive> | |
| <directive name="ssl_engine"> | |
| <syntax>ssl_engine <argument>device</argument></syntax> | |
| <default/> | |
| <context>main</context> | |
| <para> | |
| Defines the name of the hardware SSL accelerator. | |
| </para> | |
| </directive> | |
| <directive name="user"> | |
| <syntax>user <argument>user</argument> [<argument>group</argument>]</syntax> | |
| <default>user nobody nobody</default> | |
| <context>main</context> | |
| <para> | |
| Defines <argument>user</argument> and <argument>group</argument> | |
| credentials used by worker processes. | |
| If <argument>group</argument> is omitted, a group whose name equals | |
| that of <argument>user</argument> is used. | |
| </para> | |
| </directive> | |
| <directive name="timer_resolution"> | |
| <syntax>timer_resolution <argument>interval</argument></syntax> | |
| <default/> | |
| <context>main</context> | |
| <para> | |
| Reduces timer resolution in worker processes, thus reducing the | |
| number of <c-func>gettimeofday</c-func> system calls made. | |
| By default, <c-func>gettimeofday</c-func> is called each time | |
| on receiving a kernel event. | |
| With reduced resolution, <c-func>gettimeofday</c-func> is only | |
| called once per specified <argument>interval</argument>. | |
| </para> | |
| <para> | |
| Example: | |
| <example> | |
| timer_resolution 100ms; | |
| </example> | |
| </para> | |
| <para> | |
| An internal implementation of interval depends on the method used: | |
| <list type="bullet"> | |
| <listitem> | |
| an <c-def>EVFILT_TIMER</c-def> filter if <value>kqueue</value> is used; | |
| </listitem> | |
| <listitem> | |
| <c-func>timer_create</c-func> if <value>eventport</value> is used; | |
| </listitem> | |
| <listitem> | |
| <c-func>setitimer</c-func> otherwise. | |
| </listitem> | |
| </list> | |
| </para> | |
| </directive> | |
| <directive name="worker_rlimit_core"> | |
| <syntax>worker_rlimit_core <argument>size</argument></syntax> | |
| <default/> | |
| <context>main</context> | |
| <para> | |
| Changes the limit on the largest size of a core file | |
| (<c-def>RLIMIT_CORE</c-def>) for worker processes. | |
| Used to increase the limit without restarting the main process. | |
| </para> | |
| </directive> | |
| <directive name="worker_rlimit_nofile"> | |
| <syntax>worker_rlimit_nofile <argument>number</argument></syntax> | |
| <default/> | |
| <context>main</context> | |
| <para> | |
| Changes the limit on the maximum number of open files | |
| (<c-def>RLIMIT_NOFILE</c-def>) for worker processes. | |
| Used to increase the limit without restarting the main process. | |
| </para> | |
| </directive> | |
| <directive name="worker_priority"> | |
| <syntax>worker_priority <argument>number</argument></syntax> | |
| <default>worker_priority 0</default> | |
| <context>main</context> | |
| <para> | |
| Defines a scheduling priority for worker processes like is | |
| done by the <command>nice</command> command: a negative | |
| <argument>number</argument> | |
| means higher priority. | |
| Allowed range normally varies from -20 to 20. | |
| </para> | |
| <para> | |
| Example: | |
| <example> | |
| worker_priority -10; | |
| </example> | |
| </para> | |
| </directive> | |
| <directive name="worker_processes"> | |
| <syntax>worker_processes <argument>number</argument></syntax> | |
| <default>worker_processes 1</default> | |
| <context>main</context> | |
| <para> | |
| Defines the number of worker processes. | |
| </para> | |
| </directive> | |
| <directive name="working_directory"> | |
| <syntax>working_directory <argument>directory</argument></syntax> | |
| <default/> | |
| <context>main</context> | |
| <para> | |
| Defines a current working directory for a worker process. | |
| It is primarily used when writing a core-file, in which case | |
| a working process should have write permission for the | |
| specified directory. | |
| </para> | |
| </directive> | |
| </section> | |
| </module> |