annotate xml/en/docs/control.xml @ 461:6135f3c95bf6

Unified markup for lists.
author Ruslan Ermilov <ru@nginx.com>
date Tue, 27 Mar 2012 14:30:18 +0000
parents b33d3f3cd8ca
children be54c443235a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
186
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1 <!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
2
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
3 <article name="Controlling nginx"
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
4 link="/en/docs/control.html"
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
5 lang="en">
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
6
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
7 <section>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
8
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
9 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
10 nginx can be controlled with signals.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
11 The process ID of the master process is written to the file
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
12 <path>/usr/local/nginx/logs/nginx.pid</path> by default.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
13 This name may be changed at configuration time, or in
288
b33d3f3cd8ca Removed terminal whitespace.
Ruslan Ermilov <ru@nginx.com>
parents: 186
diff changeset
14 <path>nginx.conf</path> using the
186
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
15 <link doc="ngx_core_module.xml" id="pid"/>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
16 directive.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
17 The master process supports the following signals:
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
18 <note>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
19 <table>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
20
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
21 <tr><td width="20%">TERM, INT</td><td>fast shutdown</td></tr>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
22 <tr><td width="20%">QUIT</td><td>graceful shutdown</td></tr>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
23 <tr><td width="20%">HUP</td><td>changing configuration,
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
24 keeping up with a changed time zone (only for FreeBSD and Linux),
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
25 starting new worker processes with a new configuration,
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
26 graceful shutdown of old worker processes</td></tr>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
27 <tr><td width="20%">USR1</td><td>re-opening log files</td></tr>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
28 <tr><td width="20%">USR2</td><td>upgrading an executable file</td></tr>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
29 <tr><td width="20%">WINCH</td><td>graceful shutdown of worker processes</td></tr>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
30
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
31 </table>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
32 </note>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
33 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
34
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
35 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
36 Individual worker processes can be controlled with signals as well,
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
37 though it is not required.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
38 The supported signals are:
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
39 <note>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
40 <table>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
41
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
42 <tr><td width="20%">TERM, INT</td><td>fast shutdown</td></tr>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
43 <tr><td width="20%">QUIT</td><td>graceful shutdown</td></tr>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
44 <tr><td width="20%">USR1</td><td>re-opening log files</td></tr>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
45
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
46 </table>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
47 </note>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
48 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
49
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
50 </section>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
51
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
52
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
53 <section id="reconfiguration" name="Changing Configuration">
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
54
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
55 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
56 In order for nginx to re-read the configuration file, a HUP
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
57 signal should be sent to the master process.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
58 The master process first checks the syntax validity, then tries
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
59 to apply new configuration, that is, to open log files and new
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
60 listen sockets.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
61 If this fails, it rolls back changes and continues to work
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
62 with old configuration.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
63 If this succeeds, it starts new worker processes, and
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
64 sends messages to old worker processes requesting them to
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
65 shut down gracefully.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
66 Old worker processes close listen sockets and continue to service
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
67 old clients.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
68 After all clients are serviced, old worker processes are shut down.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
69 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
70
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
71 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
72 Let's illustrate this by example.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
73 Imagine that nginx is run on FreeBSD 4.x and the command
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
74 <programlisting>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
75 ps ax -o pid,ppid,user,%cpu,vsz,wchan,command | egrep '(nginx|PID)'
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
76 </programlisting>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
77 produces the following output:
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
78 <programlisting>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
79 PID PPID USER %CPU VSZ WCHAN COMMAND
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
80 33126 1 root 0.0 1148 pause nginx: master process /usr/local/nginx/sb
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
81 33127 33126 nobody 0.0 1380 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
82 33128 33126 nobody 0.0 1364 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
83 33129 33126 nobody 0.0 1364 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
84 </programlisting>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
85 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
86
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
87 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
88 If HUP is sent to the master process, the output becomes:
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
89 <programlisting>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
90 PID PPID USER %CPU VSZ WCHAN COMMAND
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
91 33126 1 root 0.0 1164 pause nginx: master process /usr/local/nginx/sb
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
92 33129 33126 nobody 0.0 1380 kqread nginx: worker process is shutting down (n
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
93 33134 33126 nobody 0.0 1368 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
94 33135 33126 nobody 0.0 1368 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
95 33136 33126 nobody 0.0 1368 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
96 </programlisting>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
97 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
98
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
99 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
100 One of the old worker processes with PID 33129 still continues to work.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
101 After some time it exits:
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
102 <programlisting>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
103 PID PPID USER %CPU VSZ WCHAN COMMAND
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
104 33126 1 root 0.0 1164 pause nginx: master process /usr/local/nginx/sb
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
105 33134 33126 nobody 0.0 1368 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
106 33135 33126 nobody 0.0 1368 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
107 33136 33126 nobody 0.0 1368 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
108 </programlisting>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
109 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
110
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
111 </section>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
112
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
113
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
114 <section id="logs" name="Rotating Log-files">
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
115
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
116 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
117 In order to rotate log files, they need to be renamed first.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
118 After that USR1 signal should be sent to the master process.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
119 The master process will then re-open all currently open log files and
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
120 assign them an unprivileged user under which the worker processes
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
121 are running, as an owner.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
122 After successful re-opening, the master process closes all open files and
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
123 sends the message to worker process to ask them to re-open files.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
124 Worker processes also open new files and close old files right away.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
125 As a result, old files are almost immediately available for post
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
126 processing, such as compression.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
127 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
128
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
129 </section>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
130
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
131
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
132 <section id="upgrade" name="Upgrading Executable on the Fly">
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
133
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
134 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
135 In order to upgrade the server executable, the new executable file
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
136 should be put in place of an old file first.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
137 After that USR2 signal should be sent to the master process.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
138 The master process first renames its file with the process ID to a
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
139 new file with the <path>.oldbin</path> suffix, e.g.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
140 <path>/usr/local/nginx/logs/nginx.pid.oldbin</path>,
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
141 then starts a new executable file that in turn starts new
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
142 worker processes:
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
143 <programlisting>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
144 PID PPID USER %CPU VSZ WCHAN COMMAND
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
145 33126 1 root 0.0 1164 pause nginx: master process /usr/local/nginx/sb
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
146 33134 33126 nobody 0.0 1368 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
147 33135 33126 nobody 0.0 1380 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
148 33136 33126 nobody 0.0 1368 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
149 36264 33126 root 0.0 1148 pause nginx: master process /usr/local/nginx/sb
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
150 36265 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
151 36266 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
152 36267 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
153 </programlisting>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
154 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
155
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
156 <!--
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
157
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
158 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
159 The process 36264 with a new executable file creates its own file
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
160 with the <path>.newbin</path> suffix that will keep the process ID,
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
161 e.g. <path>/usr/local/nginx/logs/nginx.pid.newbin</path>.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
162 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
163
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
164 -->
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
165
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
166 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
167 After that all worker processes (old and new ones) continue to accept requests.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
168 If the WINCH signal is sent to the first master process, it will
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
169 send messages to its worker processes, requesting them to shut
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
170 down gracefully, and they will start to exit:
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
171 <programlisting>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
172 PID PPID USER %CPU VSZ WCHAN COMMAND
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
173 33126 1 root 0.0 1164 pause nginx: master process /usr/local/nginx/sb
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
174 33135 33126 nobody 0.0 1380 kqread nginx: worker process is shutting down (n
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
175 36264 33126 root 0.0 1148 pause nginx: master process /usr/local/nginx/sb
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
176 36265 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
177 36266 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
178 36267 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
179 </programlisting>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
180 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
181
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
182 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
183 <note>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
184 When using the “rtsig” method on Linux, the new processes may not accept
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
185 connections even after the old master process was sent the WINCH signal.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
186 If that is the case, the USR1 signal should be sent to the new master
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
187 process continuously, until the new processes start to accept connections.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
188 </note>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
189 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
190
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
191 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
192 After some time, only the new worker processes will process requests:
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
193 <programlisting>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
194 PID PPID USER %CPU VSZ WCHAN COMMAND
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
195 33126 1 root 0.0 1164 pause nginx: master process /usr/local/nginx/sb
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
196 36264 33126 root 0.0 1148 pause nginx: master process /usr/local/nginx/sb
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
197 36265 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
198 36266 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
199 36267 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
200 </programlisting>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
201 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
202
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
203 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
204 It should be noted that the old master process does not close its listen
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
205 sockets, and it can be managed to start its worker processes again if needed.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
206 If for some reason the new executable file works unacceptably, the following
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
207 can be done:
461
6135f3c95bf6 Unified markup for lists.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
208 <list type="bullet">
186
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
209
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
210 <listitem>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
211 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
212 Send the HUP signal to the old master process.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
213 The old process will start new worker processes without re-reading the
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
214 configuration.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
215 After that, new processes can be shut down gracefully, by sending
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
216 their master process the QUIT signal.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
217 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
218 </listitem>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
219
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
220 <listitem>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
221 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
222 Send the TERM signal to the new master process, it will then send a
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
223 message to its worker processes requesting them to exit immediately,
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
224 and they will all exit almost immediately.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
225 When the new master process exits, the old master process will start new
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
226 worker processes.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
227 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
228 </listitem>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
229
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
230 <listitem>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
231 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
232 If new processes do not exit, the KILL signal should be sent to them.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
233 When the new master process exits, the old master process will start new
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
234 worker processes.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
235 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
236 </listitem>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
237
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
238 </list>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
239
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
240 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
241
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
242 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
243 If the new master process exits then the old master process discards
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
244 the <path>.oldbin</path> suffix from the file name with the process ID.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
245 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
246
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
247 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
248 If upgrade was successful, then the old master process can be sent
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
249 the QUIT signal, and only new processes will stay:
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
250 <programlisting>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
251 PID PPID USER %CPU VSZ WCHAN COMMAND
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
252 36264 1 root 0.0 1148 pause nginx: master process /usr/local/nginx/sb
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
253 36265 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
254 36266 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
255 36267 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
256 </programlisting>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
257 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
258
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
259 <!--
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
260
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
261 <para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
262 To complete the upgrade process, the
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
263 <path>/usr/local/nginx/logs/nginx.pid.newbin</path> file should be renamed to
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
264 <path>/usr/local/nginx/logs/nginx.pid</path>.
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
265 </para>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
266
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
267 -->
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
268
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
269 </section>
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
270
abc48ad4b7c4 Translated the "Controlling nginx" article into English.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
271 </article>