| <?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> |