annotate xml/en/docs/ngx_core_module.xml @ 1755:bde044a0bd90

Documented that accept_mutex is off by default.
author Yaroslav Zhuravlev <yar@nginx.com>
date Wed, 20 Jul 2016 15:09:42 +0300
parents 147e3d0339e8
children 68928f8d31d9
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"
1755
bde044a0bd90 Documented that accept_mutex is off by default.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1697
diff changeset
13 rev="20">
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>
bde044a0bd90 Documented that accept_mutex is off by default.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1697
diff changeset
50 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
51 </note>
571
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
52 </para>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
53
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
54 </directive>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
55
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
56
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
57 <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
58 <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
59 <default>500ms</default>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
60 <context>events</context>
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 <para>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
63 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
64 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
65 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
66 new connections.
571
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
67 </para>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
68
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
69 </directive>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
70
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
71
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
72 <directive name="daemon">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
73 <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
74 <default>on</default>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
75 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
76
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
77 <para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
78 Determines whether nginx should become a daemon.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
79 Mainly used during development.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
80 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
81
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
82 </directive>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
83
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
84
516
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
85 <directive name="debug_connection">
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
86 <syntax>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
87 <value>address</value> |
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
88 <value>CIDR</value> |
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
89 <literal>unix:</literal></syntax>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
90 <default/>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
91 <context>events</context>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
92
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
93 <para>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
94 Enables debugging log for selected client connections.
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
95 Other connections will use logging level set by the
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
96 <link id="error_log"/> directive.
523
a8daad8e83bb Documented 1.2.1 changes.
Ruslan Ermilov <ru@nginx.com>
parents: 516
diff changeset
97 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
98 address or network.
614
0526cac4637e Removed intimate details of the "debug_connection" directive's
Ruslan Ermilov <ru@nginx.com>
parents: 610
diff changeset
99 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
100 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
101 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
102 <example>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
103 events {
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
104 debug_connection 127.0.0.1;
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
105 debug_connection localhost;
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
106 debug_connection 192.0.2.0/24;
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
107 debug_connection ::1;
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
108 debug_connection 2001:0db8::/32;
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
109 debug_connection unix:;
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
110 ...
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
111 }
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
112 </example>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
113 <note>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
114 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
115 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
116 see “<link doc="debugging_log.xml"/>”.
516
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
117 </note>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
118 </para>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
119
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
120 </directive>
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
121
8e1356bd281a Documented the "debug_connection" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 469
diff changeset
122
574
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
123 <directive name="debug_points">
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
124 <syntax><literal>abort</literal> | <literal>stop</literal></syntax>
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
125 <default/>
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
126 <context>main</context>
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
127
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
128 <para>
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
129 This directive is used for debugging.
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
130 </para>
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
131
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
132 <para>
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
133 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
134 restart of working processes, enabling <literal>debug_points</literal>
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
135 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
136 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
137 analysis using a system debugger.
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
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
140 </directive>
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
141
5e9ff979eac8 Documented debug_points.
Ruslan Ermilov <ru@nginx.com>
parents: 571
diff changeset
142
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
143 <directive name="error_log">
1697
147e3d0339e8 Reduced syntax clutter in the error_log directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1695
diff changeset
144 <syntax><value>file</value> [<value>level</value>]</syntax>
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
145 <default>logs/error.log error</default>
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
146 <context>main</context>
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
147 <context>http</context>
1480
d1e1a8d34bce Documented mail support in error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1465
diff changeset
148 <context>mail</context>
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1449
diff changeset
149 <context>stream</context>
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
150 <context>server</context>
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
151 <context>location</context>
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
152
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
153 <para>
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
154 Configures logging.
935
3860b37d56c0 Documented support for multiple "error_log" directives.
Vladimir Homutov <vl@nginx.com>
parents: 913
diff changeset
155 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
156 </para>
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
157
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
158 <para>
1697
147e3d0339e8 Reduced syntax clutter in the error_log directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1695
diff changeset
159 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
160 <!--
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
161 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
162 -->
455
571b790ddf9e error_log: documented the special value "stderr" and default logging level.
Ruslan Ermilov <ru@nginx.com>
parents: 444
diff changeset
163 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
164 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
165 the “<literal>syslog:</literal>” prefix.
1449
c79501e16e26 Documented cyclic memory buffer support for error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1436
diff changeset
166 Logging to a
c79501e16e26 Documented cyclic memory buffer support for error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1436
diff changeset
167 <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
168 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
169 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
170 </para>
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
171
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
172 <para>
1695
aa95174efa80 Moved levels from error_log syntax to description.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1650
diff changeset
173 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
174 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
175 <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
176 <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
177 <literal>alert</literal>, or <literal>emerg</literal>.
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
178 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
179 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
180 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
181 For example, the default level <literal>error</literal> will
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
182 cause <literal>error</literal>, <literal>crit</literal>,
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
183 <literal>alert</literal>, and <literal>emerg</literal> messages
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
184 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
185 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
186 <note>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
187 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
188 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
189 see “<link doc="debugging_log.xml"/>”.
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
190 </note>
1450
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1449
diff changeset
191
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1449
diff changeset
192 <note>
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1449
diff changeset
193 The directive can be specified on the
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1449
diff changeset
194 <literal>stream</literal> level
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1449
diff changeset
195 starting from version 1.7.11.
f5b5eefc43cb Updated commercial docs for the upcoming release.
Ruslan Ermilov <ru@nginx.com>
parents: 1449
diff changeset
196 </note>
1480
d1e1a8d34bce Documented mail support in error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1465
diff changeset
197
d1e1a8d34bce Documented mail support in error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1465
diff changeset
198 <note>
d1e1a8d34bce Documented mail support in error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1465
diff changeset
199 The directive can be specified on the
d1e1a8d34bce Documented mail support in error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1465
diff changeset
200 <literal>mail</literal> level
d1e1a8d34bce Documented mail support in error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1465
diff changeset
201 starting from version 1.9.0.
d1e1a8d34bce Documented mail support in error_log.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1465
diff changeset
202 </note>
158
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
203 </para>
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
204
05e58829de2e Documented the "error_log" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
205 </directive>
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
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
208 <directive name="env">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
209 <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
210 <default>TZ</default>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
211 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
212
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
213 <para>
804
d22421dc5d00 Clarified the effects of the "env" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 764
diff changeset
214 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
215 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
216 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
217 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
218 These variables are then:
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
219 <list type="bullet">
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
220
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
221 <listitem>
804
d22421dc5d00 Clarified the effects of the "env" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 764
diff changeset
222 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
223 of an executable file;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
224 </listitem>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
225
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
226 <listitem>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
227 used by the
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
228 <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
229 </listitem>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
230
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
231 <listitem>
804
d22421dc5d00 Clarified the effects of the "env" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 764
diff changeset
232 used by worker processes.
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
233 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
234 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
235 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
236 using this directive.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
237 An exception from this is an above mentioned
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
238 <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
239 of an executable file.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
240 </listitem>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
241
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
242 </list>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
243 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
244
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
245 <para>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
246 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
247 <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
248 module, unless it is configured explicitly.
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
249 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
250
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 Usage example:
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
253 <example>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
254 env MALLOC_OPTIONS;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
255 env PERL5LIB=/data/site/modules;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
256 env OPENSSL_ALLOW_PROXY_CERTS=1;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
257 </example>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
258 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
259
444
43c84d19bf92 Added a note about the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents: 289
diff changeset
260 <para>
43c84d19bf92 Added a note about the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents: 289
diff changeset
261 <note>
43c84d19bf92 Added a note about the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents: 289
diff changeset
262 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
263 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
264 </note>
43c84d19bf92 Added a note about the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents: 289
diff changeset
265 </para>
43c84d19bf92 Added a note about the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents: 289
diff changeset
266
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
267 </directive>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
268
249
0f43f2c32c0b Fixed some nits.
Ruslan Ermilov <ru@nginx.com>
parents: 226
diff changeset
269
556
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
270 <directive name="events">
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
271 <syntax block="yes"/>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
272 <default/>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
273 <context>main</context>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
274
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
275 <para>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
276 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
277 affect connection processing are specified.
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
278 </para>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
279
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
280 </directive>
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
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
283 <directive name="include">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
284 <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
285 <default/>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
286 <context/>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
287
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
288 <para>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
289 Includes another <value>file</value>, or files matching the
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
290 specified <value>mask</value>, into configuration.
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
291 Included files should consist of
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
292 syntactically correct directives and blocks.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
293 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
294
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 Usage example:
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
297 <example>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
298 include mime.types;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
299 include vhosts/*.conf;
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
300 </example>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
301 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
302
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
303 </directive>
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
1650
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
306 <directive name="load_module">
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
307 <syntax><value>file</value></syntax>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
308 <default/>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
309 <context>main</context>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
310 <appeared-in>1.9.11</appeared-in>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
311
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
312 <para>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
313 Loads a dynamic module.
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
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 Example:
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
318 <example>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
319 load_module modules/ngx_mail_module.so;
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 </para>
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
322
6b4cb951cf83 Documented the load_module directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1641
diff changeset
323 </directive>
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
571
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
326 <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
327 <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
328 <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
329 <context>main</context>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
330
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
331 <para>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
332 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
333 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
334 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
335 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
336 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
337 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
338 </para>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
339
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
340 </directive>
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
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
343 <directive name="master_process">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
344 <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
345 <default>on</default>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
346 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
347
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
348 <para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
349 Determines whether worker processes are started.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
350 This directive is intended for nginx developers.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
351 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
352
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
353 </directive>
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
571
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
356 <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
357 <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
358 <default>off</default>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
359 <context>events</context>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
360
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
361 <para>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
362 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
363 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
364 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
365 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
366 <note>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
367 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
368 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
369 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
370 </note>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
371 </para>
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
372
71d775bef043 Documented accept_mutex, accept_mutex_delay, multi_accept, and lock_file.
Ruslan Ermilov <ru@nginx.com>
parents: 556
diff changeset
373 </directive>
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
289
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
376 <directive name="pcre_jit">
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
377 <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
378 <default>off</default>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
379 <context>main</context>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
380 <appeared-in>1.1.12</appeared-in>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
381
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
382 <para>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
383 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
384 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
385 </para>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
386
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 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
389 <note>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
390 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
391 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
392 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
393 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
394 <literal>--with-pcre-jit</literal> configuration parameter.
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
395 </note>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
396 </para>
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
397
df261b1ce71f Documented the --with-pcre-jit configuration parameter
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
398 </directive>
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
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
401 <directive name="pid">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
402 <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
403 <default>nginx.pid</default>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
404 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
405
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
406 <para>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
407 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
408 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
409
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
410 </directive>
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
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
413 <directive name="ssl_engine">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
414 <syntax><value>device</value></syntax>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
415 <default/>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
416 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
417
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
418 <para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
419 Defines the name of the hardware SSL accelerator.
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
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
422 </directive>
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
1436
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
425 <directive name="thread_pool">
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
426 <syntax>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
427 <value>name</value>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
428 <literal>threads</literal>=<value>number</value>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
429 [<literal>max_queue</literal>=<value>number</value>]</syntax>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
430 <default>default threads=32 max_queue=65536</default>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
431 <context>main</context>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
432 <appeared-in>1.7.11</appeared-in>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
433
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
434 <para>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
435 Defines named thread pools
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
436 used for multi-threaded reading and sending of files
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
437 <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
438 worker processes.
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
439 </para>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
440
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 The <literal>threads</literal> parameter
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
443 defines the number of threads in the pool.
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
444 </para>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
445
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 In the event that all threads in the pool are busy,
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
448 a new task will wait in the queue.
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
449 The <literal>max_queue</literal> parameter limits the number
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
450 of tasks allowed to be waiting in the queue.
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
451 By default, up to 65536 tasks can wait in the queue.
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
452 When the queue overflows, the task is completed with an error.
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
453 </para>
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
454
2333e08e277d Documented thread pools.
Ruslan Ermilov <ru@nginx.com>
parents: 1285
diff changeset
455 </directive>
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
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
458 <directive name="timer_resolution">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
459 <syntax><value>interval</value></syntax>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
460 <default/>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
461 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
462
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
463 <para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
464 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
465 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
466 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
467 a kernel event is received.
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
468 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
469 called once per specified <value>interval</value>.
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
470 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
471
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 Example:
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
474 <example>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
475 timer_resolution 100ms;
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 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
478
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
479 <para>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
480 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
481 <list type="bullet">
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
482
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
483 <listitem>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
484 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
485 </listitem>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
486
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
487 <listitem>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
488 <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
489 </listitem>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
490
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 <c-func>setitimer</c-func> otherwise.
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
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
495 </list>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
496 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
497
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
498 </directive>
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
556
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
501 <directive name="use">
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
502 <syntax><value>method</value></syntax>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
503 <default/>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
504 <context>events</context>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
505
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
506 <para>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
507 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
508 <value>method</value> to use.
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
509 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
510 by default use the most efficient method.
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
511 </para>
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
512
345012910707 Documented the "events" and "use" directives.
Ruslan Ermilov <ru@nginx.com>
parents: 554
diff changeset
513 </directive>
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
82
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
516 <directive name="user">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
517 <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
518 <default>nobody nobody</default>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
519 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
520
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
521 <para>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
522 Defines <value>user</value> and <value>group</value>
82
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
523 credentials used by worker processes.
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
524 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
525 that of <value>user</value> is used.
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
526 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
527
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
528 </directive>
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
749
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
531 <directive name="worker_aio_requests">
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
532 <syntax><value>number</value></syntax>
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
533 <default>32</default>
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
534 <context>events</context>
750
6a1b1ba62cab Documented history of "worker_aio_requests" directive.
Vladimir Homutov <vl@nginx.com>
parents: 749
diff changeset
535 <appeared-in>1.1.4</appeared-in>
6a1b1ba62cab Documented history of "worker_aio_requests" directive.
Vladimir Homutov <vl@nginx.com>
parents: 749
diff changeset
536 <appeared-in>1.0.7</appeared-in>
749
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
537
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
538 <para>
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
539 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
540 with the <link doc="../docs/events.xml" id="epoll"/>
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
541 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
542 outstanding asynchronous I/O operations
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
543 for a single worker process.
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
544 </para>
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
545
2abb92a19101 Documented 'worker_aio_requests' directive.
Vladimir Homutov <vl@nginx.com>
parents: 742
diff changeset
546 </directive>
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
545
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
549 <directive name="worker_connections">
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
550 <syntax><value>number</value></syntax>
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
551 <default>512</default>
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
552 <context>events</context>
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
553
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
554 <para>
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
555 Sets the maximum number of simultaneous connections that
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
556 can be opened by a worker process.
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
557 </para>
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
558
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 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
561 (e.g. connections with proxied servers, among others),
545
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
562 not only connections with clients.
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
563 Another consideration is that the actual number of simultaneous
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 957
diff changeset
564 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
565 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
566 <link id="worker_rlimit_nofile"/>.
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
567 </para>
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
568
e97b46d1842d Documented the "worker_connections" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 523
diff changeset
569 </directive>
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
469
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
572 <directive name="worker_cpu_affinity">
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
573 <syntax><value>cpumask</value> ...</syntax>
1641
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
574 <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
575 <default/>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
576 <context>main</context>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
577
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
578 <para>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
579 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
580 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
581 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
582 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
583 </para>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
584
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 For example,
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
587 <example>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
588 worker_processes 4;
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
589 worker_cpu_affinity 0001 0010 0100 1000;
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
590 </example>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
591 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
592 <example>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
593 worker_processes 2;
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
594 worker_cpu_affinity 0101 1010;
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
595 </example>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
596 binds the first worker process to CPU0/CPU2,
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
597 and the second worker process to CPU1/CPU3.
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
598 The second example is suitable for hyper-threading.
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
599 </para>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
600
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
601 <para>
1641
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
602 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
603 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
604 <example>
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
605 worker_processes auto;
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
606 worker_cpu_affinity auto;
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
607 </example>
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
608 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
609 available for automatic binding:
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
610 <example>
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
611 worker_cpu_affinity auto 01010101;
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 </para>
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
614
c0d1026e7e7b Documented the "auto" parameter in worker_cpu_affinity.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1480
diff changeset
615 <para>
469
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
616 <note>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
617 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
618 </note>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
619 </para>
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
620
8275e169f77b Documented the "worker_cpu_affinity" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 455
diff changeset
621 </directive>
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
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
624 <directive name="worker_priority">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
625 <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
626 <default>0</default>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
627 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
628
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
629 <para>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
630 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
631 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
632 <value>number</value>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
633 means higher priority.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
634 Allowed range normally varies from -20 to 20.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
635 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
636
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 Example:
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
639 <example>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
640 worker_priority -10;
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 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
643
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
644 </directive>
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
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
647 <directive name="worker_processes">
740
46d70031bea9 Documented the recently added "auto" parameter of the
Andrey Belov <defan@nginx.com>
parents: 659
diff changeset
648 <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
649 <default>1</default>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
650 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
651
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
652 <para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
653 Defines the number of worker processes.
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
226
c4b33b07dcfe Added some basic hints on how to tune "worker_processes".
Ruslan Ermilov <ru@nginx.com>
parents: 158
diff changeset
656 <para>
c4b33b07dcfe Added some basic hints on how to tune "worker_processes".
Ruslan Ermilov <ru@nginx.com>
parents: 158
diff changeset
657 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
658 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
659 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
660 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
661 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
662 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
663 <note>
3a2e35f4c279 Documented that "worker_processes auto" appeared in version 1.3.8.
Ruslan Ermilov <ru@nginx.com>
parents: 740
diff changeset
664 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
665 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
666 </note>
226
c4b33b07dcfe Added some basic hints on how to tune "worker_processes".
Ruslan Ermilov <ru@nginx.com>
parents: 158
diff changeset
667 </para>
c4b33b07dcfe Added some basic hints on how to tune "worker_processes".
Ruslan Ermilov <ru@nginx.com>
parents: 158
diff changeset
668
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
669 </directive>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
670
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
671
82
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
672 <directive name="worker_rlimit_core">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
673 <syntax><value>size</value></syntax>
82
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
674 <default/>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
675 <context>main</context>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
676
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
677 <para>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
678 Changes the limit on the largest size of a core file
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
679 (<c-def>RLIMIT_CORE</c-def>) for worker processes.
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
680 Used to increase the limit without restarting the main process.
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
681 </para>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
682
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
683 </directive>
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
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
686 <directive name="worker_rlimit_nofile">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
687 <syntax><value>number</value></syntax>
82
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
688 <default/>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
689 <context>main</context>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
690
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
691 <para>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
692 Changes the limit on the maximum number of open files
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
693 (<c-def>RLIMIT_NOFILE</c-def>) for worker processes.
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
694 Used to increase the limit without restarting the main process.
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
695 </para>
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
696
89c31b453d40 Sorted directives alphabetically.
Ruslan Ermilov <ru@nginx.com>
parents: 63
diff changeset
697 </directive>
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
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
700 <directive name="working_directory">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 270
diff changeset
701 <syntax><value>directory</value></syntax>
63
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
702 <default/>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
703 <context>main</context>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
704
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
705 <para>
957
6d9d4bb571a9 Text review of the ngx_core_module.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 953
diff changeset
706 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
707 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
708 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
709 specified directory.
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
710 </para>
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
711
6108fd3217e7 Initial English translation of ngx_core_module.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
712 </directive>
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 </section>
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 </module>