annotate xml/en/docs/ngx_core_module.xml @ 1888:3ed02f21146b

Merged notes about versions in error_log.
author Yaroslav Zhuravlev <yar@nginx.com>
date Wed, 18 Jan 2017 15:30:36 +0300
parents 68928f8d31d9
children f1c18acbe785
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1 <?xml version="1.0"?>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2
580
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 574
diff changeset
3 <!--
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 574
diff changeset
4 Copyright (C) Igor Sysoev
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 574
diff changeset
5 Copyright (C) Nginx, Inc.
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 574
diff changeset
6 -->
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 574
diff changeset
7
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
8 <!DOCTYPE module SYSTEM "../../../dtd/module.dtd">
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
9
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
10 <module name="Core functionality"
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
11 link="/en/docs/ngx_core_module.html"
589
764fbac1b8b4 Added document revision.
Ruslan Ermilov <ru@nginx.com>
parents: 580
diff changeset
12 lang="en"
1888
3ed02f21146b Merged notes about versions in error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1784
diff changeset
13 rev="22">
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
14
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
15 <section id="example" name="Example Configuration">
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
16
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
17 <para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
18 <example>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
19 user www www;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
20 worker_processes 2;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
21
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
22 error_log /var/log/nginx-error.log info;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
23
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
24 events {
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
25 use kqueue;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
26 worker_connections 2048;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
27 }
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
28
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
29 ...
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
30 </example>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
31 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
32
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
33 </section>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
34
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
35
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
36 <section id="directives" name="Directives">
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
37
571
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
38 <directive name="accept_mutex">
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
39 <syntax><literal>on</literal> | <literal>off</literal></syntax>
1755
bde044a0bd90 Documented that accept_mutex is off by default.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1697
diff changeset
40 <default>off</default>
571
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
41 <context>events</context>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
42
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
43 <para>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
44 If <literal>accept_mutex</literal> is enabled,
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
45 worker processes will accept new connections by turn.
571
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
46 Otherwise, all worker processes will be notified about new connections,
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
47 and if volume of new connections is low, some of the worker processes
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
48 may just waste system resources.
1755
bde044a0bd90 Documented that accept_mutex is off by default.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1697
diff changeset
49 <note>
1784
68928f8d31d9 Updated accept_mutex with info about reuseport and epollexclusive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1755
diff changeset
50 There is no need to enable <literal>accept_mutex</literal>
68928f8d31d9 Updated accept_mutex with info about reuseport and epollexclusive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1755
diff changeset
51 on systems that support the
68928f8d31d9 Updated accept_mutex with info about reuseport and epollexclusive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1755
diff changeset
52 <link doc="events.xml" id="epoll">EPOLLEXCLUSIVE</link> flag (1.11.3) or
68928f8d31d9 Updated accept_mutex with info about reuseport and epollexclusive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1755
diff changeset
53 when using <link doc="http/ngx_http_core_module.xml" id="reuseport"/>.
68928f8d31d9 Updated accept_mutex with info about reuseport and epollexclusive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1755
diff changeset
54 </note>
68928f8d31d9 Updated accept_mutex with info about reuseport and epollexclusive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1755
diff changeset
55 <note>
1755
bde044a0bd90 Documented that accept_mutex is off by default.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1697
diff changeset
56 Prior to version 1.11.3, the default value was <literal>on</literal>.
bde044a0bd90 Documented that accept_mutex is off by default.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1697
diff changeset
57 </note>
571
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
58 </para>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
59
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
60 </directive>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
61
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
62
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
63 <directive name="accept_mutex_delay">
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
64 <syntax><value>time</value></syntax>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
65 <default>500ms</default>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
66 <context>events</context>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
67
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
68 <para>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
69 If <link id="accept_mutex"/> is enabled, specifies the maximum time
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
70 during which a worker process will try to restart accepting new
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
71 connections if another worker process is currently accepting
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
72 new connections.
571
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
73 </para>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
74
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
75 </directive>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
76
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
77
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
78 <directive name="daemon">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
79 <syntax><literal>on</literal> | <literal>off</literal></syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
80 <default>on</default>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
81 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
82
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
83 <para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
84 Determines whether nginx should become a daemon.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
85 Mainly used during development.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
86 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
87
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
88 </directive>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
89
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
90
516
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
91 <directive name="debug_connection">
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
92 <syntax>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
93 <value>address</value> |
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
94 <value>CIDR</value> |
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
95 <literal>unix:</literal></syntax>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
96 <default/>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
97 <context>events</context>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
98
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
99 <para>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
100 Enables debugging log for selected client connections.
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
101 Other connections will use logging level set by the
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
102 <link id="error_log"/> directive.
523
a8daad8e83bb Documented 1.2.1 changes.
Ruslan Ermilov <ru@nginx.com>
parents: 516
diff changeset
103 Debugged connections are specified by IPv4 or IPv6 (1.3.0, 1.2.1)
a8daad8e83bb Documented 1.2.1 changes.
Ruslan Ermilov <ru@nginx.com>
parents: 516
diff changeset
104 address or network.
614
0526cac4637e Removed intimate details of the "debug_connection" directive's
Ruslan Ermilov <ru@nginx.com>
parents: 610
diff changeset
105 A connection may also be specified using a hostname.
523
a8daad8e83bb Documented 1.2.1 changes.
Ruslan Ermilov <ru@nginx.com>
parents: 516
diff changeset
106 For connections using UNIX-domain sockets (1.3.0, 1.2.1),
a8daad8e83bb Documented 1.2.1 changes.
Ruslan Ermilov <ru@nginx.com>
parents: 516
diff changeset
107 debugging log is enabled by the “<literal>unix:</literal>” parameter.
516
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
108 <example>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
109 events {
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
110 debug_connection 127.0.0.1;
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
111 debug_connection localhost;
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
112 debug_connection 192.0.2.0/24;
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
113 debug_connection ::1;
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
114 debug_connection 2001:0db8::/32;
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
115 debug_connection unix:;
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
116 ...
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
117 }
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
118 </example>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
119 <note>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
120 For this directive to work, nginx needs to
913
9a65d437da42 Link to "A debugging log" from "debug_connection" and "error_log".
Ruslan Ermilov <ru@nginx.com>
parents: 804
diff changeset
121 be built with <literal>--with-debug</literal>,
9a65d437da42 Link to "A debugging log" from "debug_connection" and "error_log".
Ruslan Ermilov <ru@nginx.com>
parents: 804
diff changeset
122 see “<link doc="debugging_log.xml"/>”.
516
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
123 </note>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
124 </para>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
125
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
126 </directive>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
127
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
128
574
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
129 <directive name="debug_points">
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
130 <syntax><literal>abort</literal> | <literal>stop</literal></syntax>
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
131 <default/>
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
132 <context>main</context>
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
133
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
134 <para>
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
135 This directive is used for debugging.
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
136 </para>
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
137
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
138 <para>
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
139 When internal error is detected, e.g. the leak of sockets on
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
140 restart of working processes, enabling <literal>debug_points</literal>
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
141 leads to a core file creation (<literal>abort</literal>)
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
142 or to stopping of a process (<literal>stop</literal>) for further
574
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
143 analysis using a system debugger.
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
144 </para>
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
145
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
146 </directive>
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
147
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
148
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
149 <directive name="error_log">
1697
147e3d0339e8 Reduced syntax clutter in the error_log directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1695
diff changeset
150 <syntax><value>file</value> [<value>level</value>]</syntax>
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
151 <default>logs/error.log error</default>
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
152 <context>main</context>
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
153 <context>http</context>
1480
d1e1a8d34bce Documented mail support in error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1465
diff changeset
154 <context>mail</context>
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1449
diff changeset
155 <context>stream</context>
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
156 <context>server</context>
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
157 <context>location</context>
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
159 <para>
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
160 Configures logging.
935
3860b37d56c0 Documented support for multiple "error_log" directives.
Vladimir Homutov <vl@nginx.com>
parents: 913
diff changeset
161 Several logs can be specified on the same level (1.5.2).
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
162 </para>
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
163
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
164 <para>
1697
147e3d0339e8 Reduced syntax clutter in the error_log directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1695
diff changeset
165 The first parameter defines a <value>file</value> that will store the log.
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
166 <!--
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
167 If filename is not absolute, it is prefixed with the prefix path.
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
168 -->
455
571b790ddf9e error_log: documented the special value "stderr" and default logging level.
Ruslan Ermilov <ru@nginx.com>
parents: 444
diff changeset
169 The special value <literal>stderr</literal> selects the standard error file.
1285
4e89518a5999 Moved syslog configuration details into the separate documents.
Ruslan Ermilov <ru@nginx.com>
parents: 1205
diff changeset
170 Logging to <link doc="syslog.xml">syslog</link> can be configured by specifying
953
aded7086e84f Commercial version documentation.
Ruslan Ermilov <ru@nginx.com>
parents: 935
diff changeset
171 the “<literal>syslog:</literal>” prefix.
1449
c79501e16e26 Documented cyclic memory buffer support for error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1436
diff changeset
172 Logging to a
c79501e16e26 Documented cyclic memory buffer support for error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1436
diff changeset
173 <link doc="debugging_log.xml" id="memory">cyclic memory buffer</link>
c79501e16e26 Documented cyclic memory buffer support for error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1436
diff changeset
174 can be configured by specifying the “<literal>memory:</literal>” prefix and
c79501e16e26 Documented cyclic memory buffer support for error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1436
diff changeset
175 buffer <value>size</value>, and is generally used for debugging (1.7.11).
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
176 </para>
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
177
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
178 <para>
1695
aa95174efa80 Moved levels from error_log syntax to description.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1650
diff changeset
179 The second parameter determines the <value>level</value> of logging,
aa95174efa80 Moved levels from error_log syntax to description.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1650
diff changeset
180 and can be one of the following:
aa95174efa80 Moved levels from error_log syntax to description.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1650
diff changeset
181 <literal>debug</literal>, <literal>info</literal>, <literal>notice</literal>,
aa95174efa80 Moved levels from error_log syntax to description.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1650
diff changeset
182 <literal>warn</literal>, <literal>error</literal>, <literal>crit</literal>,
aa95174efa80 Moved levels from error_log syntax to description.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1650
diff changeset
183 <literal>alert</literal>, or <literal>emerg</literal>.
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
184 Log levels above are listed in the order of increasing severity.
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
185 Setting a certain log level will cause all messages of
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
186 the specified and more severe log levels to be logged.
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
187 For example, the default level <literal>error</literal> will
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
188 cause <literal>error</literal>, <literal>crit</literal>,
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
189 <literal>alert</literal>, and <literal>emerg</literal> messages
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
190 to be logged.
455
571b790ddf9e error_log: documented the special value "stderr" and default logging level.
Ruslan Ermilov <ru@nginx.com>
parents: 444
diff changeset
191 If this parameter is omitted then <literal>error</literal> is used.
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
192 <note>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
193 For <literal>debug</literal> logging to work, nginx needs to
913
9a65d437da42 Link to "A debugging log" from "debug_connection" and "error_log".
Ruslan Ermilov <ru@nginx.com>
parents: 804
diff changeset
194 be built with <literal>--with-debug</literal>,
9a65d437da42 Link to "A debugging log" from "debug_connection" and "error_log".
Ruslan Ermilov <ru@nginx.com>
parents: 804
diff changeset
195 see “<link doc="debugging_log.xml"/>”.
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
196 </note>
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1449
diff changeset
197
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1449
diff changeset
198 <note>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1449
diff changeset
199 The directive can be specified on the
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1449
diff changeset
200 <literal>stream</literal> level
1888
3ed02f21146b Merged notes about versions in error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1784
diff changeset
201 starting from version 1.7.11,
3ed02f21146b Merged notes about versions in error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1784
diff changeset
202 and on the <literal>mail</literal> level
1480
d1e1a8d34bce Documented mail support in error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1465
diff changeset
203 starting from version 1.9.0.
d1e1a8d34bce Documented mail support in error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1465
diff changeset
204 </note>
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
205 </para>
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
206
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
207 </directive>
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
208
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
209
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
210 <directive name="env">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
211 <syntax><value>variable</value>[=<value>value</value>]</syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
212 <default>TZ</default>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
213 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
214
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
215 <para>
804
d22421dc5d00 Clarified the effects of the "env" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 764
diff changeset
216 By default, nginx removes all environment variables inherited
d22421dc5d00 Clarified the effects of the "env" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 764
diff changeset
217 from its parent process except the TZ variable.
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
218 This directive allows preserving some of the inherited variables,
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
219 changing their values, or creating new environment variables.
804
d22421dc5d00 Clarified the effects of the "env" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 764
diff changeset
220 These variables are then:
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
221 <list type="bullet">
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
222
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
223 <listitem>
804
d22421dc5d00 Clarified the effects of the "env" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 764
diff changeset
224 inherited during a <link doc="control.xml" id="upgrade">live upgrade</link>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
225 of an executable file;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
226 </listitem>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
227
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
228 <listitem>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
229 used by the
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
230 <link doc="http/ngx_http_perl_module.xml">ngx_http_perl_module</link> module;
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
231 </listitem>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
232
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
233 <listitem>
804
d22421dc5d00 Clarified the effects of the "env" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 764
diff changeset
234 used by worker processes.
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
235 One should bear in mind that controlling system libraries in this way
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
236 is not always possible as it is common for libraries to check
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
237 variables only during initialization, well before they can be set
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
238 using this directive.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
239 An exception from this is an above mentioned
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
240 <link doc="control.xml" id="upgrade">live upgrade</link>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
241 of an executable file.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
242 </listitem>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
243
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
244 </list>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
245 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
246
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
247 <para>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
248 The TZ variable is always inherited and available to the
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
249 <link doc="http/ngx_http_perl_module.xml">ngx_http_perl_module</link>
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
250 module, unless it is configured explicitly.
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
251 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
252
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
253 <para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
254 Usage example:
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
255 <example>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
256 env MALLOC_OPTIONS;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
257 env PERL5LIB=/data/site/modules;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
258 env OPENSSL_ALLOW_PROXY_CERTS=1;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
259 </example>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
260 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
261
444
43c84d19bf92 Added a note about the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents: 289
diff changeset
262 <para>
43c84d19bf92 Added a note about the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents: 289
diff changeset
263 <note>
43c84d19bf92 Added a note about the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents: 289
diff changeset
264 The NGINX environment variable is used internally by nginx
43c84d19bf92 Added a note about the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents: 289
diff changeset
265 and should not be set directly by the user.
43c84d19bf92 Added a note about the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents: 289
diff changeset
266 </note>
43c84d19bf92 Added a note about the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents: 289
diff changeset
267 </para>
43c84d19bf92 Added a note about the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents: 289
diff changeset
268
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
269 </directive>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
270
249
0f43f2c32c0b Fixed some nits.
Ruslan Ermilov <ru@nginx.com>
parents: 226
diff changeset
271
556
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
272 <directive name="events">
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
273 <syntax block="yes"/>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
274 <default/>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
275 <context>main</context>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
276
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
277 <para>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
278 Provides the configuration file context in which the directives that
556
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
279 affect connection processing are specified.
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
280 </para>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
281
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
282 </directive>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
283
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
284
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
285 <directive name="include">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
286 <syntax><value>file</value> | <value>mask</value></syntax>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
287 <default/>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
288 <context/>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
289
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
290 <para>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
291 Includes another <value>file</value>, or files matching the
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
292 specified <value>mask</value>, into configuration.
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
293 Included files should consist of
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
294 syntactically correct directives and blocks.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
295 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
296
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
297 <para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
298 Usage example:
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
299 <example>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
300 include mime.types;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
301 include vhosts/*.conf;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
302 </example>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
303 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
304
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
305 </directive>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
306
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
307
1650
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
308 <directive name="load_module">
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
309 <syntax><value>file</value></syntax>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
310 <default/>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
311 <context>main</context>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
312 <appeared-in>1.9.11</appeared-in>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
313
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
314 <para>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
315 Loads a dynamic module.
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
316 </para>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
317
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
318 <para>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
319 Example:
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
320 <example>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
321 load_module modules/ngx_mail_module.so;
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
322 </example>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
323 </para>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
324
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
325 </directive>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
326
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
327
571
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
328 <directive name="lock_file">
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
329 <syntax><value>file</value></syntax>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
330 <default>logs/nginx.lock</default>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
331 <context>main</context>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
332
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
333 <para>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
334 nginx uses the locking mechanism to implement <link id="accept_mutex"/>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
335 and serialize access to shared memory.
571
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
336 On most systems the locks are implemented using atomic operations,
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
337 and this directive is ignored.
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
338 On other systems the “lock file” mechanism is used.
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
339 This directive specifies a prefix for the names of lock files.
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
340 </para>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
341
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
342 </directive>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
343
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
344
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
345 <directive name="master_process">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
346 <syntax><literal>on</literal> | <literal>off</literal></syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
347 <default>on</default>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
348 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
349
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
350 <para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
351 Determines whether worker processes are started.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
352 This directive is intended for nginx developers.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
353 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
354
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
355 </directive>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
356
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
357
571
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
358 <directive name="multi_accept">
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
359 <syntax><literal>on</literal> | <literal>off</literal></syntax>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
360 <default>off</default>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
361 <context>events</context>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
362
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
363 <para>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
364 If <literal>multi_accept</literal> is disabled, a worker process
571
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
365 will accept one new connection at a time.
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
366 Otherwise, a worker process
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
367 will accept all new connections at a time.
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
368 <note>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
369 The directive is ignored if <link doc="events.xml" id="kqueue"/>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
370 connection processing method is used, because it reports
571
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
371 the number of new connections waiting to be accepted.
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
372 </note>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
373 </para>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
374
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
375 </directive>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
376
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
377
289
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
378 <directive name="pcre_jit">
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
379 <syntax><literal>on</literal> | <literal>off</literal></syntax>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
380 <default>off</default>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
381 <context>main</context>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
382 <appeared-in>1.1.12</appeared-in>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
383
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
384 <para>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
385 Enables or disables the use of “just-in-time compilation” (PCRE JIT)
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
386 for the regular expressions known by the time of configuration parsing.
289
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
387 </para>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
388
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
389 <para>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
390 PCRE JIT can speed up processing of regular expressions significantly.
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
391 <note>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
392 The JIT is available in PCRE libraries starting from version 8.20
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
393 built with the <literal>--enable-jit</literal> configuration parameter.
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
394 When the PCRE library is built with nginx (<literal>--with-pcre=</literal>),
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
395 the JIT support is enabled via the
289
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
396 <literal>--with-pcre-jit</literal> configuration parameter.
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
397 </note>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
398 </para>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
399
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
400 </directive>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
401
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
402
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
403 <directive name="pid">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
404 <syntax><value>file</value></syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
405 <default>nginx.pid</default>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
406 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
407
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
408 <para>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
409 Defines a <value>file</value> that will store the process ID of the main process.
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
410 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
411
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
412 </directive>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
413
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
414
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
415 <directive name="ssl_engine">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
416 <syntax><value>device</value></syntax>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
417 <default/>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
418 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
419
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
420 <para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
421 Defines the name of the hardware SSL accelerator.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
422 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
423
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
424 </directive>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
425
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
426
1436
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
427 <directive name="thread_pool">
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
428 <syntax>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
429 <value>name</value>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
430 <literal>threads</literal>=<value>number</value>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
431 [<literal>max_queue</literal>=<value>number</value>]</syntax>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
432 <default>default threads=32 max_queue=65536</default>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
433 <context>main</context>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
434 <appeared-in>1.7.11</appeared-in>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
435
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
436 <para>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
437 Defines named thread pools
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
438 used for multi-threaded reading and sending of files
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
439 <link doc="http/ngx_http_core_module.xml" id="aio">without blocking</link>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
440 worker processes.
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
441 </para>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
442
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
443 <para>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
444 The <literal>threads</literal> parameter
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
445 defines the number of threads in the pool.
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
446 </para>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
447
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
448 <para>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
449 In the event that all threads in the pool are busy,
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
450 a new task will wait in the queue.
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
451 The <literal>max_queue</literal> parameter limits the number
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
452 of tasks allowed to be waiting in the queue.
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
453 By default, up to 65536 tasks can wait in the queue.
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
454 When the queue overflows, the task is completed with an error.
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
455 </para>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
456
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
457 </directive>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
458
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
459
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
460 <directive name="timer_resolution">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
461 <syntax><value>interval</value></syntax>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
462 <default/>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
463 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
464
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
465 <para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
466 Reduces timer resolution in worker processes, thus reducing the
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
467 number of <c-func>gettimeofday</c-func> system calls made.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
468 By default, <c-func>gettimeofday</c-func> is called each time
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
469 a kernel event is received.
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
470 With reduced resolution, <c-func>gettimeofday</c-func> is only
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
471 called once per specified <value>interval</value>.
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
472 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
473
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
474 <para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
475 Example:
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
476 <example>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
477 timer_resolution 100ms;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
478 </example>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
479 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
480
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
481 <para>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
482 Internal implementation of the interval depends on the method used:
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
483 <list type="bullet">
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
484
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
485 <listitem>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
486 the <c-def>EVFILT_TIMER</c-def> filter if <literal>kqueue</literal> is used;
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
487 </listitem>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
488
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
489 <listitem>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
490 <c-func>timer_create</c-func> if <literal>eventport</literal> is used;
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
491 </listitem>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
492
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
493 <listitem>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
494 <c-func>setitimer</c-func> otherwise.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
495 </listitem>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
496
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
497 </list>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
498 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
499
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
500 </directive>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
501
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
502
556
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
503 <directive name="use">
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
504 <syntax><value>method</value></syntax>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
505 <default/>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
506 <context>events</context>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
507
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
508 <para>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
509 Specifies the <link doc="events.xml">connection processing</link>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
510 <value>method</value> to use.
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
511 There is normally no need to specify it explicitly, because nginx will
556
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
512 by default use the most efficient method.
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
513 </para>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
514
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
515 </directive>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
516
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
517
82
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
518 <directive name="user">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
519 <syntax><value>user</value> [<value>group</value>]</syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
520 <default>nobody nobody</default>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
521 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
522
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
523 <para>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
524 Defines <value>user</value> and <value>group</value>
82
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
525 credentials used by worker processes.
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
526 If <value>group</value> is omitted, a group whose name equals
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
527 that of <value>user</value> is used.
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
528 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
529
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
530 </directive>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
531
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
532
749
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
533 <directive name="worker_aio_requests">
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
534 <syntax><value>number</value></syntax>
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
535 <default>32</default>
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
536 <context>events</context>
750
6a1b1ba62cab Documented history of "worker_aio_requests" directive.
Vladimir Homutov <vl@nginx.com>
parents: 749
diff changeset
537 <appeared-in>1.1.4</appeared-in>
6a1b1ba62cab Documented history of "worker_aio_requests" directive.
Vladimir Homutov <vl@nginx.com>
parents: 749
diff changeset
538 <appeared-in>1.0.7</appeared-in>
749
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
539
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
540 <para>
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
541 When using <link doc="http/ngx_http_core_module.xml" id="aio"/>
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
542 with the <link doc="../docs/events.xml" id="epoll"/>
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
543 connection processing method, sets the maximum <value>number</value> of
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
544 outstanding asynchronous I/O operations
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
545 for a single worker process.
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
546 </para>
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
547
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
548 </directive>
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
549
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
550
545
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
551 <directive name="worker_connections">
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
552 <syntax><value>number</value></syntax>
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
553 <default>512</default>
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
554 <context>events</context>
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
555
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
556 <para>
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
557 Sets the maximum number of simultaneous connections that
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
558 can be opened by a worker process.
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
559 </para>
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
560
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
561 <para>
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
562 It should be kept in mind that this number includes all connections
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
563 (e.g. connections with proxied servers, among others),
545
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
564 not only connections with clients.
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
565 Another consideration is that the actual number of simultaneous
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 957
diff changeset
566 connections cannot exceed the current limit on
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
567 the maximum number of open files, which can be changed by
545
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
568 <link id="worker_rlimit_nofile"/>.
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
569 </para>
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
570
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
571 </directive>
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
572
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
573
469
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
574 <directive name="worker_cpu_affinity">
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
575 <syntax><value>cpumask</value> ...</syntax>
1641
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
576 <syntax><literal>auto</literal> [<value>cpumask</value>]</syntax>
469
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
577 <default/>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
578 <context>main</context>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
579
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
580 <para>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
581 Binds worker processes to the sets of CPUs.
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
582 Each CPU set is represented by a bitmask of allowed CPUs.
469
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
583 There should be a separate set defined for each of the worker processes.
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
584 By default, worker processes are not bound to any specific CPUs.
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
585 </para>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
586
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
587 <para>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
588 For example,
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
589 <example>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
590 worker_processes 4;
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
591 worker_cpu_affinity 0001 0010 0100 1000;
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
592 </example>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
593 binds each worker process to a separate CPU, while
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
594 <example>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
595 worker_processes 2;
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
596 worker_cpu_affinity 0101 1010;
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
597 </example>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
598 binds the first worker process to CPU0/CPU2,
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
599 and the second worker process to CPU1/CPU3.
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
600 The second example is suitable for hyper-threading.
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
601 </para>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
602
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
603 <para>
1641
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
604 The special value <literal>auto</literal> (1.9.10) allows
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
605 binding worker processes automatically to available CPUs:
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
606 <example>
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
607 worker_processes auto;
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
608 worker_cpu_affinity auto;
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
609 </example>
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
610 The optional mask parameter can be used to limit the CPUs
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
611 available for automatic binding:
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
612 <example>
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
613 worker_cpu_affinity auto 01010101;
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
614 </example>
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
615 </para>
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
616
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
617 <para>
469
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
618 <note>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
619 The directive is only available on FreeBSD and Linux.
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
620 </note>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
621 </para>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
622
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
623 </directive>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
624
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
625
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
626 <directive name="worker_priority">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
627 <syntax><value>number</value></syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
628 <default>0</default>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
629 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
630
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
631 <para>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
632 Defines the scheduling priority for worker processes like it is
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
633 done by the <command>nice</command> command: a negative
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
634 <value>number</value>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
635 means higher priority.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
636 Allowed range normally varies from -20 to 20.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
637 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
638
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
639 <para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
640 Example:
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
641 <example>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
642 worker_priority -10;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
643 </example>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
644 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
645
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
646 </directive>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
647
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
648
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
649 <directive name="worker_processes">
740
46d70031bea9 Documented the recently added "auto" parameter of the
Andrey Belov <defan@nginx.com>
parents: 659
diff changeset
650 <syntax><value>number</value> | <literal>auto</literal></syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
651 <default>1</default>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
652 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
653
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
654 <para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
655 Defines the number of worker processes.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
656 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
657
226
c4b33b07dcfe Added some basic hints on how to tune "worker_processes".
Ruslan Ermilov <ru@nginx.com>
parents: 158
diff changeset
658 <para>
c4b33b07dcfe Added some basic hints on how to tune "worker_processes".
Ruslan Ermilov <ru@nginx.com>
parents: 158
diff changeset
659 The optimal value depends on many factors including (but not
c4b33b07dcfe Added some basic hints on how to tune "worker_processes".
Ruslan Ermilov <ru@nginx.com>
parents: 158
diff changeset
660 limited to) the number of CPU cores, the number of hard disk
c4b33b07dcfe Added some basic hints on how to tune "worker_processes".
Ruslan Ermilov <ru@nginx.com>
parents: 158
diff changeset
661 drives that store data, and load pattern.
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
662 When one is in doubt, setting it to the number of available CPU cores
740
46d70031bea9 Documented the recently added "auto" parameter of the
Andrey Belov <defan@nginx.com>
parents: 659
diff changeset
663 would be a good start (the value “<literal>auto</literal>”
46d70031bea9 Documented the recently added "auto" parameter of the
Andrey Belov <defan@nginx.com>
parents: 659
diff changeset
664 will try to autodetect it).
742
3a2e35f4c279 Documented that "worker_processes auto" appeared in version 1.3.8.
Ruslan Ermilov <ru@nginx.com>
parents: 740
diff changeset
665 <note>
3a2e35f4c279 Documented that "worker_processes auto" appeared in version 1.3.8.
Ruslan Ermilov <ru@nginx.com>
parents: 740
diff changeset
666 The <literal>auto</literal> parameter is supported starting from
764
f8434fdd3cd9 The "auto" parameter of the ""worker_processes" directive
Ruslan Ermilov <ru@nginx.com>
parents: 750
diff changeset
667 versions 1.3.8 and 1.2.5.
742
3a2e35f4c279 Documented that "worker_processes auto" appeared in version 1.3.8.
Ruslan Ermilov <ru@nginx.com>
parents: 740
diff changeset
668 </note>
226
c4b33b07dcfe Added some basic hints on how to tune "worker_processes".
Ruslan Ermilov <ru@nginx.com>
parents: 158
diff changeset
669 </para>
c4b33b07dcfe Added some basic hints on how to tune "worker_processes".
Ruslan Ermilov <ru@nginx.com>
parents: 158
diff changeset
670
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
671 </directive>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
672
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
673
82
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
674 <directive name="worker_rlimit_core">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
675 <syntax><value>size</value></syntax>
82
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
676 <default/>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
677 <context>main</context>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
678
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
679 <para>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
680 Changes the limit on the largest size of a core file
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
681 (<c-def>RLIMIT_CORE</c-def>) for worker processes.
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
682 Used to increase the limit without restarting the main process.
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
683 </para>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
684
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
685 </directive>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
686
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
687
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
688 <directive name="worker_rlimit_nofile">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
689 <syntax><value>number</value></syntax>
82
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
690 <default/>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
691 <context>main</context>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
692
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
693 <para>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
694 Changes the limit on the maximum number of open files
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
695 (<c-def>RLIMIT_NOFILE</c-def>) for worker processes.
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
696 Used to increase the limit without restarting the main process.
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
697 </para>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
698
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
699 </directive>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
700
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
701
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
702 <directive name="working_directory">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
703 <syntax><value>directory</value></syntax>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
704 <default/>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
705 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
706
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
707 <para>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
708 Defines the current working directory for a worker process.
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
709 It is primarily used when writing a core-file, in which case
262
676abe405aba Changed one instance of "working process" to "worker process".
Ruslan Ermilov <ru@nginx.com>
parents: 249
diff changeset
710 a worker process should have write permission for the
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
711 specified directory.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
712 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
713
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
714 </directive>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
715
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
716 </section>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
717
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
718 </module>