comparison xml/en/docs/configure.xml @ 2156:224ca9f697a5

Documented all configure options.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 23 Apr 2018 21:41:07 +0300
parents fd06f014e6db
children 4ad2cf470ed8
comparison
equal deleted inserted replaced
2155:fd06f014e6db 2156:224ca9f697a5
6 <!DOCTYPE article SYSTEM "../../../dtd/article.dtd"> 6 <!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
7 7
8 <article name="Building nginx from Sources" 8 <article name="Building nginx from Sources"
9 link="/en/docs/configure.html" 9 link="/en/docs/configure.html"
10 lang="en" 10 lang="en"
11 rev="13"> 11 rev="14">
12 12
13 <section> 13 <section>
14 14
15 <para> 15 <para>
16 The build is configured using the <command>configure</command> command. 16 The build is configured using the <command>configure</command> command.
17 It defines various aspects of the system, including the methods nginx 17 It defines various aspects of the system, including the methods nginx
18 is allowed to use for connection processing. 18 is allowed to use for connection processing.
19 At the end it creates a <path>Makefile</path>. 19 At the end it creates a <path>Makefile</path>.
20 </para>
21
22 <para>
20 The <command>configure</command> command supports the following parameters: 23 The <command>configure</command> command supports the following parameters:
24 </para>
25
26 <para>
27 <list type="tag">
28
29 <tag-name>
30 <literal>--help</literal>
31 </tag-name>
32 <tag-desc>
33 prints a help message.
34 </tag-desc>
35
36 </list>
37 </para>
38
39 <para>
21 <list type="tag"> 40 <list type="tag">
22 41
23 <tag-name> 42 <tag-name>
24 <literal>--prefix=<value>path</value></literal> 43 <literal>--prefix=<value>path</value></literal>
25 </tag-name> 44 </tag-name>
37 <tag-desc> 56 <tag-desc>
38 sets the name of an nginx executable file. 57 sets the name of an nginx executable file.
39 This name is used only during installation. 58 This name is used only during installation.
40 By default the file is named 59 By default the file is named
41 <path><value>prefix</value>/sbin/nginx</path>. 60 <path><value>prefix</value>/sbin/nginx</path>.
61 </tag-desc>
62
63 <tag-name>
64 <literal>--modules-path=<value>path</value></literal>
65 </tag-name>
66 <tag-desc>
67 defines a directory where nginx dynamic modules will be installed.
68 By default the <path><value>prefix</value>/modules</path> directory is used.
42 </tag-desc> 69 </tag-desc>
43 70
44 <tag-name> 71 <tag-name>
45 <literal>--conf-path=<value>path</value></literal> 72 <literal>--conf-path=<value>path</value></literal>
46 </tag-name> 73 </tag-name>
49 If needs be, nginx can always be started with a different configuration file, 76 If needs be, nginx can always be started with a different configuration file,
50 by specifying it in the command-line parameter 77 by specifying it in the command-line parameter
51 <nobr><literal>-c <value>file</value></literal></nobr>. 78 <nobr><literal>-c <value>file</value></literal></nobr>.
52 By default the file is named 79 By default the file is named
53 <path><value>prefix</value>/conf/nginx.conf</path>. 80 <path><value>prefix</value>/conf/nginx.conf</path>.
81 </tag-desc>
82
83 <tag-name>
84 <literal>--error-log-path=<value>path</value></literal>
85 </tag-name>
86 <tag-desc>
87 sets the name of the primary error, warnings, and diagnostic file.
88 After installation, the file name can always be changed in the
89 <path>nginx.conf</path> configuration file using the
90 <link doc="ngx_core_module.xml" id="error_log"/> directive.
91 By default the file is named
92 <path><value>prefix</value>/logs/error.log</path>.
54 </tag-desc> 93 </tag-desc>
55 94
56 <tag-name> 95 <tag-name>
57 <literal>--pid-path=<value>path</value></literal> 96 <literal>--pid-path=<value>path</value></literal>
58 </tag-name> 97 </tag-name>
65 By default the file is named 104 By default the file is named
66 <path><value>prefix</value>/logs/nginx.pid</path>. 105 <path><value>prefix</value>/logs/nginx.pid</path>.
67 </tag-desc> 106 </tag-desc>
68 107
69 <tag-name> 108 <tag-name>
70 <literal>--error-log-path=<value>path</value></literal> 109 <literal>--lock-path=<value>path</value></literal>
71 </tag-name> 110 </tag-name>
72 <tag-desc> 111 <tag-desc>
73 sets the name of the primary error, warnings, and diagnostic file. 112 sets a prefix for the names of lock files.
74 After installation, the file name can always be changed in the 113 After installation, the value can always be changed in the
75 <path>nginx.conf</path> configuration file using the 114 <path>nginx.conf</path> configuration file using the
76 <link doc="ngx_core_module.xml" id="error_log"/> directive. 115 <link doc="ngx_core_module.xml" id="lock_file"/> directive.
77 By default the file is named 116 By default the value is
78 <path><value>prefix</value>/logs/error.log</path>. 117 <path><value>prefix</value>/logs/nginx.lock</path>.
79 </tag-desc> 118 </tag-desc>
119
120 </list>
121 </para>
122
123 <para>
124 <list type="tag">
125
126 <tag-name>
127 <literal>--user=<value>name</value></literal>
128 </tag-name>
129 <tag-desc>
130 sets the name of an unprivileged user whose credentials will be used
131 by worker processes.
132 After installation, the name can always be changed in the
133 <path>nginx.conf</path> configuration file using the
134 <link doc="ngx_core_module.xml" id="user"/> directive.
135 The default user name is nobody.
136 </tag-desc>
137
138 <tag-name>
139 <literal>--group=<value>name</value></literal>
140 </tag-name>
141 <tag-desc>
142 sets the name of a group whose credentials will be used
143 by worker processes.
144 After installation, the name can always be changed in the
145 <path>nginx.conf</path> configuration file using the
146 <link doc="ngx_core_module.xml" id="user"/> directive.
147 By default, a group name is set to the name of an unprivileged user.
148 </tag-desc>
149
150 </list>
151 </para>
152
153 <para>
154 <list type="tag">
155
156 <tag-name id="build">
157 <literal>--build=<value>name</value></literal>
158 </tag-name>
159 <tag-desc>
160 sets an optional nginx build name.
161 </tag-desc>
162
163 <tag-name>
164 <literal>--builddir=<value>path</value></literal>
165 </tag-name>
166 <tag-desc>
167 sets a build directory.
168 </tag-desc>
169
170 </list>
171 </para>
172
173 <para>
174 <list type="tag">
175
176 <tag-name>
177 <literal>--with-select_module</literal><br/>
178 <literal>--without-select_module</literal>
179 </tag-name>
180 <tag-desc>
181 enables or disables building a module that allows the server to work
182 with the <c-func>select</c-func> method.
183 This module is built automatically if the platform does not appear
184 to support more appropriate methods such as kqueue, epoll, or /dev/poll.
185 </tag-desc>
186
187 <tag-name>
188 <literal>--with-poll_module</literal><br/>
189 <literal>--without-poll_module</literal>
190 </tag-name>
191 <tag-desc>
192 enables or disables building a module that allows the server to work
193 with the <c-func>poll</c-func> method.
194 This module is built automatically if the platform does not appear
195 to support more appropriate methods such as kqueue, epoll, or /dev/poll.
196 </tag-desc>
197
198 <tag-name>
199 <literal>--with-threads</literal>
200 </tag-name>
201 <tag-desc>
202 enables the use of
203 <link doc="ngx_core_module.xml" id="thread_pool">thread pools</link>.
204 </tag-desc>
205
206 <tag-name>
207 <literal>--with-file-aio</literal>
208 </tag-name>
209 <tag-desc>
210 enables the use of
211 <link doc="http/ngx_http_core_module.xml" id="aio">asynchronous file I/O</link>
212 (AIO) on FreeBSD and Linux.
213 </tag-desc>
214
215 </list>
216 </para>
217
218 <para>
219 <list type="tag">
220
221 <tag-name>
222 <literal>--with-http_ssl_module</literal>
223 </tag-name>
224 <tag-desc>
225 enables building a module that adds the
226 <link doc="http/ngx_http_ssl_module.xml">HTTPS protocol support</link>
227 to an HTTP server.
228 This module is not built by default.
229 The OpenSSL library is required to build and run this module.
230 </tag-desc>
231
232 <tag-name>
233 <literal>--with-http_v2_module</literal>
234 </tag-name>
235 <tag-desc>
236 enables building a module that provides support for
237 <link doc="http/ngx_http_v2_module.xml">HTTP/2</link>.
238 This module is not built by default.
239 </tag-desc>
240
241 <tag-name>
242 <literal>--with-http_realip_module</literal>
243 </tag-name>
244 <tag-desc>
245 enables building the
246 <link doc="http/ngx_http_realip_module.xml">ngx_http_realip_module</link>
247 module that changes the client address to the address
248 sent in the specified header field.
249 This module is not built by default.
250 </tag-desc>
251
252 <tag-name>
253 <literal>--with-http_addition_module</literal>
254 </tag-name>
255 <tag-desc>
256 enables building the
257 <link doc="http/ngx_http_addition_module.xml">ngx_http_addition_module</link>
258 module that adds text before and after a response.
259 This module is not built by default.
260 </tag-desc>
261
262 <tag-name>
263 <literal>--with-http_xslt_module</literal><br/>
264 <literal>--with-http_xslt_module=dynamic</literal>
265 </tag-name>
266 <tag-desc>
267 enables building the
268 <link doc="http/ngx_http_xslt_module.xml">ngx_http_xslt_module</link>
269 module that transforms XML responses using one or more XSLT stylesheets.
270 This module is not built by default.
271 The <link url="http://xmlsoft.org">libxml2</link> and
272 <link url="http://xmlsoft.org/XSLT/">libxslt</link> libraries
273 are required to build and run this module.
274 </tag-desc>
275
276 <tag-name>
277 <literal>--with-http_image_filter_module</literal><br/>
278 <literal>--with-http_image_filter_module=dynamic</literal>
279 </tag-name>
280 <tag-desc>
281 enables building the
282 <link doc="http/ngx_http_image_filter_module.xml">ngx_http_image_filter_module</link>
283 module that transforms images in JPEG, GIF, PNG, and WebP formats.
284 This module is not built by default.
285 </tag-desc>
286
287 <tag-name>
288 <literal>--with-http_geoip_module</literal><br/>
289 <literal>--with-http_geoip_module=dynamic</literal>
290 </tag-name>
291 <tag-desc>
292 enables building the
293 <link doc="http/ngx_http_geoip_module.xml">ngx_http_geoip_module</link>
294 module that creates variables depending on the client IP address
295 and the precompiled
296 <link url="http://www.maxmind.com">MaxMind</link> databases.
297 This module is not built by default.
298 </tag-desc>
299
300 <tag-name>
301 <literal>--with-http_sub_module</literal>
302 </tag-name>
303 <tag-desc>
304 enables building the
305 <link doc="http/ngx_http_sub_module.xml">ngx_http_sub_module</link>
306 module that modifies a response by replacing one specified string by another.
307 This module is not built by default.
308 </tag-desc>
309
310 <tag-name>
311 <literal>--with-http_dav_module</literal>
312 </tag-name>
313 <tag-desc>
314 enables building the
315 <link doc="http/ngx_http_dav_module.xml">ngx_http_dav_module</link>
316 module that provides file management automation via the WebDAV protocol.
317 This module is not built by default.
318 </tag-desc>
319
320 <tag-name>
321 <literal>--with-http_flv_module</literal>
322 </tag-name>
323 <tag-desc>
324 enables building the
325 <link doc="http/ngx_http_flv_module.xml">ngx_http_flv_module</link>
326 module that provides pseudo-streaming server-side support
327 for Flash Video (FLV) files.
328 This module is not built by default.
329 </tag-desc>
330
331 <tag-name>
332 <literal>--with-http_mp4_module</literal>
333 </tag-name>
334 <tag-desc>
335 enables building the
336 <link doc="http/ngx_http_mp4_module.xml">ngx_http_mp4_module</link>
337 module that provides pseudo-streaming server-side support
338 for MP4 files.
339 This module is not built by default.
340 </tag-desc>
341
342 <tag-name>
343 <literal>--with-http_gunzip_module</literal>
344 </tag-name>
345 <tag-desc>
346 enables building the
347 <link doc="http/ngx_http_gunzip_module.xml">ngx_http_gunzip_module</link>
348 module that decompresses responses
349 with “<literal>Content-Encoding: gzip</literal>”
350 for clients that do not support “gzip” encoding method.
351 This module is not built by default.
352 </tag-desc>
353
354 <tag-name>
355 <literal>--with-http_gzip_static_module</literal>
356 </tag-name>
357 <tag-desc>
358 enables building the
359 <link doc="http/ngx_http_gzip_static_module.xml">ngx_http_gzip_static_module</link>
360 module that enables sending precompressed files
361 with the “<literal>.gz</literal>” filename extension instead of regular files.
362 This module is not built by default.
363 </tag-desc>
364
365 <tag-name>
366 <literal>--with-http_auth_request_module</literal>
367 </tag-name>
368 <tag-desc>
369 enables building the
370 <link doc="http/ngx_http_auth_request_module.xml">ngx_http_auth_request_module</link>
371 module that implements client authorization
372 based on the result of a subrequest.
373 This module is not built by default.
374 </tag-desc>
375
376 <tag-name>
377 <literal>--with-http_random_index_module</literal>
378 </tag-name>
379 <tag-desc>
380 enables building the
381 <link doc="http/ngx_http_random_index_module.xml">ngx_http_random_index_module</link>
382 module that processes requests
383 ending with the slash character (‘<literal>/</literal>’) and picks a random
384 file in a directory to serve as an index file.
385 This module is not built by default.
386 </tag-desc>
387
388 <tag-name>
389 <literal>--with-http_secure_link_module</literal>
390 </tag-name>
391 <tag-desc>
392 enables building the
393 <link doc="http/ngx_http_secure_link_module.xml">ngx_http_secure_link_module</link>
394 module.
395 This module is not built by default.
396 </tag-desc>
397
398 <tag-name>
399 <literal>--with-http_degradation_module</literal>
400 </tag-name>
401 <tag-desc>
402 enables building the
403 <literal>ngx_http_degradation_module</literal> module.
404 This module is not built by default.
405 </tag-desc>
406
407 <tag-name>
408 <literal>--with-http_slice_module</literal>
409 </tag-name>
410 <tag-desc>
411 enables building the
412 <link doc="http/ngx_http_slice_module.xml">ngx_http_slice_module</link>
413 module that splits a request into subrequests,
414 each returning a certain range of response.
415 The module provides more effective caching of big responses.
416 This module is not built by default.
417 </tag-desc>
418
419 <tag-name>
420 <literal>--with-http_stub_status_module</literal>
421 </tag-name>
422 <tag-desc>
423 enables building the
424 <link doc="http/ngx_http_stub_status_module.xml">ngx_http_stub_status_module</link>
425 module that provides access to basic status information.
426 This module is not built by default.
427 </tag-desc>
428
429 </list>
430 </para>
431
432 <para>
433 <list type="tag">
434
435 <tag-name>
436 <literal>--without-http_charset_module</literal>
437 </tag-name>
438 <tag-desc>
439 disables building the
440 <link doc="http/ngx_http_charset_module.xml">ngx_http_charset_module</link>
441 module that adds the specified charset to the
442 <header>Content-Type</header> response header field
443 and can additionally convert data from one charset to another.
444 </tag-desc>
445
446 <tag-name>
447 <literal>--without-http_gzip_module</literal>
448 </tag-name>
449 <tag-desc>
450 disables building a module
451 that <link doc="http/ngx_http_gzip_module.xml">compresses responses</link>
452 of an HTTP server.
453 The zlib library is required to build and run this module.
454 </tag-desc>
455
456 <tag-name>
457 <literal>--without-http_ssi_module</literal>
458 </tag-name>
459 <tag-desc>
460 disables building the
461 <link doc="http/ngx_http_ssi_module.xml">ngx_http_ssi_module</link>
462 module that processes SSI (Server Side Includes) commands in responses
463 passing through it.
464 </tag-desc>
465
466 <tag-name>
467 <literal>--without-http_userid_module</literal>
468 </tag-name>
469 <tag-desc>
470 disables building the
471 <link doc="http/ngx_http_userid_module.xml">ngx_http_userid_module</link>
472 module that sets cookies suitable for client identification.
473 </tag-desc>
474
475 <tag-name>
476 <literal>--without-http_access_module</literal>
477 </tag-name>
478 <tag-desc>
479 disables building the
480 <link doc="http/ngx_http_access_module.xml">ngx_http_access_module</link>
481 module that allows limiting access to certain client addresses.
482 </tag-desc>
483
484 <tag-name>
485 <literal>--without-http_auth_basic_module</literal>
486 </tag-name>
487 <tag-desc>
488 disables building the
489 <link doc="http/ngx_http_auth_basic_module.xml">ngx_http_auth_basic_module</link>
490 module that allows limiting access to resources by validating the user name
491 and password using the “HTTP Basic Authentication” protocol.
492 </tag-desc>
493
494 <tag-name>
495 <literal>--without-http_mirror_module</literal>
496 </tag-name>
497 <tag-desc>
498 disables building the
499 <link doc="http/ngx_http_mirror_module.xml">ngx_http_mirror_module</link>
500 module that implements mirroring of an original request
501 by creating background mirror subrequests.
502 </tag-desc>
503
504 <tag-name>
505 <literal>--without-http_autoindex_module</literal>
506 </tag-name>
507 <tag-desc>
508 disables building the
509 <link doc="http/ngx_http_autoindex_module.xml">ngx_http_autoindex_module</link>
510 module that processes requests
511 ending with the slash character (‘<literal>/</literal>’) and produces
512 a directory listing in case the
513 <link doc="http/ngx_http_index_module.xml">ngx_http_index_module</link> module
514 cannot find an index file.
515 </tag-desc>
516
517 <tag-name>
518 <literal>--without-http_geo_module</literal>
519 </tag-name>
520 <tag-desc>
521 disables building the
522 <link doc="http/ngx_http_geo_module.xml">ngx_http_geo_module</link>
523 module that creates variables
524 with values depending on the client IP address.
525 </tag-desc>
526
527 <tag-name>
528 <literal>--without-http_map_module</literal>
529 </tag-name>
530 <tag-desc>
531 disables building the
532 <link doc="http/ngx_http_map_module.xml">ngx_http_map_module</link>
533 module that creates variables
534 with values depending on values of other variables.
535 </tag-desc>
536
537 <tag-name>
538 <literal>--without-http_split_clients_module</literal>
539 </tag-name>
540 <tag-desc>
541 disables building the
542 <link doc="http/ngx_http_split_clients_module.xml">ngx_http_split_clients_module</link>
543 module that creates variables for A/B testing.
544 </tag-desc>
545
546 <tag-name>
547 <literal>--without-http_referer_module</literal>
548 </tag-name>
549 <tag-desc>
550 disables building the
551 <link doc="http/ngx_http_referer_module.xml">ngx_http_referer_module</link>
552 module that can block access to a site for requests with invalid values
553 in the <header>Referer</header> header field.
554 </tag-desc>
555
556 <tag-name>
557 <literal>--without-http_rewrite_module</literal>
558 </tag-name>
559 <tag-desc>
560 disables building a module that allows an HTTP server to
561 <link doc="http/ngx_http_rewrite_module.xml">redirect requests and change URI
562 of requests</link>.
563 The PCRE library is required to build and run this module.
564 </tag-desc>
565
566 <tag-name>
567 <literal>--without-http_proxy_module</literal>
568 </tag-name>
569 <tag-desc>
570 disables building an HTTP server
571 <link doc="http/ngx_http_proxy_module.xml">proxying module</link>.
572 <!--
573 The MD5 library is required to build and run this module.
574 -->
575 </tag-desc>
576
577 <tag-name>
578 <literal>--without-http_fastcgi_module</literal>
579 </tag-name>
580 <tag-desc>
581 disables building the
582 <link doc="http/ngx_http_fastcgi_module.xml">ngx_http_fastcgi_module</link>
583 module that passes requests to a FastCGI server.
584 </tag-desc>
585
586 <tag-name>
587 <literal>--without-http_uwsgi_module</literal>
588 </tag-name>
589 <tag-desc>
590 disables building the
591 <link doc="http/ngx_http_uwsgi_module.xml">ngx_http_uwsgi_module</link>
592 module that passes requests to a uwsgi server.
593 </tag-desc>
594
595 <tag-name>
596 <literal>--without-http_scgi_module</literal>
597 </tag-name>
598 <tag-desc>
599 disables building the
600 <link doc="http/ngx_http_scgi_module.xml">ngx_http_scgi_module</link>
601 module that passes requests to an SCGI server.
602 </tag-desc>
603
604 <tag-name>
605 <literal>--without-http_grpc_module</literal>
606 </tag-name>
607 <tag-desc>
608 disables building the
609 <link doc="http/ngx_http_grpc_module.xml">ngx_http_grpc_module</link>
610 module that passes requests to a gRPC server.
611 </tag-desc>
612
613 <tag-name>
614 <literal>--without-http_memcached_module</literal>
615 </tag-name>
616 <tag-desc>
617 disables building the
618 <link doc="http/ngx_http_memcached_module.xml">ngx_http_memcached_module</link>
619 module that obtains responses from a memcached server.
620 </tag-desc>
621
622 <tag-name>
623 <literal>--without-http_limit_conn_module</literal>
624 </tag-name>
625 <tag-desc>
626 disables building the
627 <link doc="http/ngx_http_limit_conn_module.xml">ngx_http_limit_conn_module</link>
628 module that limits the number of connections per key, for example,
629 the number of connections from a single IP address.
630 </tag-desc>
631
632 <tag-name>
633 <literal>--without-http_limit_req_module</literal>
634 </tag-name>
635 <tag-desc>
636 disables building the
637 <link doc="http/ngx_http_limit_req_module.xml">ngx_http_limit_req_module</link>
638 module that limits the request processing rate per key, for example,
639 the processing rate of requests coming from a single IP address.
640 </tag-desc>
641
642 <tag-name>
643 <literal>--without-http_empty_gif_module</literal>
644 </tag-name>
645 <tag-desc>
646 disables building a module that
647 <link doc="http/ngx_http_empty_gif_module.xml">emits single-pixel
648 transparent GIF</link>.
649 </tag-desc>
650
651 <tag-name>
652 <literal>--without-http_browser_module</literal>
653 </tag-name>
654 <tag-desc>
655 disables building the
656 <link doc="http/ngx_http_browser_module.xml">ngx_http_browser_module</link>
657 module that creates variables whose values depend on the value of the
658 <header>User-Agent</header> request header field.
659 </tag-desc>
660
661 <tag-name>
662 <literal>--without-http_upstream_hash_module</literal>
663 </tag-name>
664 <tag-desc>
665 disables building a module that implements the
666 <link doc="http/ngx_http_upstream_module.xml" id="hash"/>
667 load balancing method.
668 </tag-desc>
669
670 <tag-name>
671 <literal>--without-http_upstream_ip_hash_module</literal>
672 </tag-name>
673 <tag-desc>
674 disables building a module that implements the
675 <link doc="http/ngx_http_upstream_module.xml" id="ip_hash"/>
676 load balancing method.
677 </tag-desc>
678
679 <tag-name>
680 <literal>--without-http_upstream_least_conn_module</literal>
681 </tag-name>
682 <tag-desc>
683 disables building a module that implements the
684 <link doc="http/ngx_http_upstream_module.xml" id="least_conn"/>
685 load balancing method.
686 </tag-desc>
687
688 <tag-name>
689 <literal>--without-http_upstream_keepalive_module</literal>
690 </tag-name>
691 <tag-desc>
692 disables building a module that provides
693 <link doc="http/ngx_http_upstream_module.xml" id="keepalive">caching of
694 connections</link> to upstream servers.
695 </tag-desc>
696
697 <tag-name>
698 <literal>--without-http_upstream_zone_module</literal>
699 </tag-name>
700 <tag-desc>
701 disables building a module that makes it possible to store run-time state
702 of an upstream group in a shared memory
703 <link doc="http/ngx_http_upstream_module.xml" id="zone"/>.
704 </tag-desc>
705
706 </list>
707 </para>
708
709 <para>
710 <list type="tag">
711
712 <tag-name>
713 <literal>--with-http_perl_module</literal><br/>
714 <literal>--with-http_perl_module=dynamic</literal>
715 </tag-name>
716 <tag-desc>
717 enables building the
718 <link doc="http/ngx_http_perl_module.xml">embedded Perl module</link>.
719 This module is not built by default.
720 </tag-desc>
721
722 <tag-name>
723 <literal>--with-perl_modules_path=<value>path</value></literal>
724 </tag-name>
725 <tag-desc>
726 defines a directory that will keep Perl modules.
727 </tag-desc>
728
729 <tag-name>
730 <literal>--with-perl=<value>path</value></literal>
731 </tag-name>
732 <tag-desc>
733 sets the name of the Perl binary.
734 </tag-desc>
735
736 </list>
737 </para>
738
739 <para>
740 <list type="tag">
80 741
81 <tag-name> 742 <tag-name>
82 <literal>--http-log-path=<value>path</value></literal> 743 <literal>--http-log-path=<value>path</value></literal>
83 </tag-name> 744 </tag-name>
84 <tag-desc> 745 <tag-desc>
88 <link doc="http/ngx_http_log_module.xml" id="access_log"/> directive. 749 <link doc="http/ngx_http_log_module.xml" id="access_log"/> directive.
89 By default the file is named 750 By default the file is named
90 <path><value>prefix</value>/logs/access.log</path>. 751 <path><value>prefix</value>/logs/access.log</path>.
91 </tag-desc> 752 </tag-desc>
92 753
93 <tag-name id="build"> 754 <tag-name>
94 <literal>--build=<value>name</value></literal> 755 <literal>--http-client-body-temp-path=<value>path</value></literal>
95 </tag-name> 756 </tag-name>
96 <tag-desc> 757 <tag-desc>
97 sets an optional nginx build name. 758 defines a directory for storing temporary files
98 </tag-desc> 759 that hold client request bodies.
99 760 After installation, the directory can always be changed in the
100 <tag-name>
101 <literal>--user=<value>name</value></literal>
102 </tag-name>
103 <tag-desc>
104 sets the name of an unprivileged user whose credentials will be used
105 by worker processes.
106 After installation, the name can always be changed in the
107 <path>nginx.conf</path> configuration file using the 761 <path>nginx.conf</path> configuration file using the
108 <link doc="ngx_core_module.xml" id="user"/> directive. 762 <link doc="http/ngx_http_core_module.xml" id="client_body_temp_path"/>
109 The default user name is nobody. 763 directive.
110 </tag-desc> 764 By default the directory is named
111 765 <path><value>prefix</value>/client_body_temp</path>.
112 <tag-name> 766 </tag-desc>
113 <literal>--group=<value>name</value></literal> 767
114 </tag-name> 768 <tag-name>
115 <tag-desc> 769 <literal>--http-proxy-temp-path=<value>path</value></literal>
116 sets the name of a group whose credentials will be used 770 </tag-name>
117 by worker processes. 771 <tag-desc>
118 After installation, the name can always be changed in the 772 defines a directory for storing temporary files
773 with data received from proxied servers.
774 After installation, the directory can always be changed in the
119 <path>nginx.conf</path> configuration file using the 775 <path>nginx.conf</path> configuration file using the
120 <link doc="ngx_core_module.xml" id="user"/> directive. 776 <link doc="http/ngx_http_proxy_module.xml" id="proxy_temp_path"/>
121 By default, a group name is set to the name of an unprivileged user. 777 directive.
122 </tag-desc> 778 By default the directory is named
123 779 <path><value>prefix</value>/proxy_temp</path>.
124 <tag-name> 780 </tag-desc>
125 <literal>--with-select_module</literal><br/> 781
126 <literal>--without-select_module</literal> 782 <tag-name>
127 </tag-name> 783 <literal>--http-fastcgi-temp-path=<value>path</value></literal>
128 <tag-desc> 784 </tag-name>
129 enables or disables building a module that allows the server to work 785 <tag-desc>
130 with the <c-func>select</c-func> method. 786 defines a directory for storing temporary files
131 This module is built automatically if the platform does not appear 787 with data received from FastCGI servers.
132 to support more appropriate methods such as kqueue, epoll, or /dev/poll. 788 After installation, the directory can always be changed in the
133 </tag-desc> 789 <path>nginx.conf</path> configuration file using the
134 790 <link doc="http/ngx_http_fastcgi_module.xml" id="fastcgi_temp_path"/>
135 <tag-name> 791 directive.
136 <literal>--with-poll_module</literal><br/> 792 By default the directory is named
137 <literal>--without-poll_module</literal> 793 <path><value>prefix</value>/fastcgi_temp</path>.
138 </tag-name> 794 </tag-desc>
139 <tag-desc> 795
140 enables or disables building a module that allows the server to work 796 <tag-name>
141 with the <c-func>poll</c-func> method. 797 <literal>--http-uwsgi-temp-path=<value>path</value></literal>
142 This module is built automatically if the platform does not appear 798 </tag-name>
143 to support more appropriate methods such as kqueue, epoll, or /dev/poll. 799 <tag-desc>
144 </tag-desc> 800 defines a directory for storing temporary files
145 801 with data received from uwsgi servers.
146 <tag-name> 802 After installation, the directory can always be changed in the
147 <literal>--without-http_gzip_module</literal> 803 <path>nginx.conf</path> configuration file using the
148 </tag-name> 804 <link doc="http/ngx_http_uwsgi_module.xml" id="uwsgi_temp_path"/>
149 <tag-desc> 805 directive.
150 disables building a module 806 By default the directory is named
151 that <link doc="http/ngx_http_gzip_module.xml">compresses responses</link> 807 <path><value>prefix</value>/uwsgi_temp</path>.
152 of an HTTP server. 808 </tag-desc>
153 The zlib library is required to build and run this module. 809
154 </tag-desc> 810 <tag-name>
155 811 <literal>--http-scgi-temp-path=<value>path</value></literal>
156 <tag-name> 812 </tag-name>
157 <literal>--without-http_rewrite_module</literal> 813 <tag-desc>
158 </tag-name> 814 defines a directory for storing temporary files
159 <tag-desc> 815 with data received from SCGI servers.
160 disables building a module that allows an HTTP server to 816 After installation, the directory can always be changed in the
161 <link doc="http/ngx_http_rewrite_module.xml">redirect requests and change URI 817 <path>nginx.conf</path> configuration file using the
162 of requests</link>. 818 <link doc="http/ngx_http_scgi_module.xml" id="scgi_temp_path"/>
163 The PCRE library is required to build and run this module. 819 directive.
164 </tag-desc> 820 By default the directory is named
165 821 <path><value>prefix</value>/scgi_temp</path>.
166 <tag-name> 822 </tag-desc>
167 <literal>--without-http_proxy_module</literal> 823
168 </tag-name> 824 </list>
169 <tag-desc> 825 </para>
170 disables building an HTTP server 826
171 <link doc="http/ngx_http_proxy_module.xml">proxying module</link>. 827 <para>
172 <!-- 828 <list type="tag">
173 The MD5 library is required to build and run this module. 829
174 --> 830 <tag-name>
175 </tag-desc> 831 <literal>--without-http</literal>
176 832 </tag-name>
177 <tag-name> 833 <tag-desc>
178 <literal>--with-http_ssl_module</literal> 834 disables the <link doc="http/ngx_http_core_module.xml">HTTP</link> server.
835 </tag-desc>
836
837 <tag-name>
838 <literal>--without-http-cache</literal>
839 </tag-name>
840 <tag-desc>
841 disables HTTP cache.
842 </tag-desc>
843
844 </list>
845 </para>
846
847 <para>
848 <list type="tag">
849
850 <tag-name>
851 <literal>--with-mail</literal><br/>
852 <literal>--with-mail=dynamic</literal>
853 </tag-name>
854 <tag-desc>
855 enables POP3/IMAP4/SMTP
856 <link doc="mail/ngx_mail_core_module.xml">mail proxy</link> server.
857 </tag-desc>
858
859 <tag-name>
860 <literal>--with-mail_ssl_module</literal>
179 </tag-name> 861 </tag-name>
180 <tag-desc> 862 <tag-desc>
181 enables building a module that adds the 863 enables building a module that adds the
182 <link doc="http/ngx_http_ssl_module.xml">HTTPS protocol support</link> 864 <link doc="mail/ngx_mail_ssl_module.xml">SSL/TLS protocol support</link>
183 to an HTTP server. 865 to the mail proxy server.
184 This module is not built by default. 866 This module is not built by default.
185 The OpenSSL library is required to build and run this module. 867 The OpenSSL library is required to build and run this module.
868 </tag-desc>
869
870 <tag-name>
871 <literal>--without-mail_pop3_module</literal>
872 </tag-name>
873 <tag-desc>
874 disables the <link doc="mail/ngx_mail_pop3_module.xml">POP3</link> protocol
875 in mail proxy server.
876 </tag-desc>
877
878 <tag-name>
879 <literal>--without-mail_imap_module</literal>
880 </tag-name>
881 <tag-desc>
882 disables the <link doc="mail/ngx_mail_imap_module.xml">IMAP</link> protocol
883 in mail proxy server.
884 </tag-desc>
885
886 <tag-name>
887 <literal>--without-mail_smtp_module</literal>
888 </tag-name>
889 <tag-desc>
890 disables the <link doc="mail/ngx_mail_smtp_module.xml">SMTP</link> protocol
891 in mail proxy server.
892 </tag-desc>
893
894 </list>
895 </para>
896
897 <para>
898 <list type="tag">
899
900 <tag-name>
901 <literal>--with-stream</literal><br/>
902 <literal>--with-stream=dynamic</literal>
903 </tag-name>
904 <tag-desc>
905 enables building the
906 <link doc="stream/ngx_stream_core_module.xml">stream module</link>
907 for generic TCP/UDP proxying and load balancing.
908 This module is not built by default.
909 </tag-desc>
910
911 <tag-name>
912 <literal>--with-stream_ssl_module</literal>
913 </tag-name>
914 <tag-desc>
915 enables building a module that adds the
916 <link doc="stream/ngx_stream_ssl_module.xml">SSL/TLS protocol support</link>
917 to the stream module.
918 This module is not built by default.
919 The OpenSSL library is required to build and run this module.
920 </tag-desc>
921
922 <tag-name>
923 <literal>--with-stream_realip_module</literal>
924 </tag-name>
925 <tag-desc>
926 enables building the
927 <link doc="http/ngx_stream_realip_module.xml">ngx_stream_realip_module</link>
928 module that changes the client address to the address
929 sent in the PROXY protocol header.
930 This module is not built by default.
931 </tag-desc>
932
933 <tag-name>
934 <literal>--with-stream_geoip_module</literal><br/>
935 <literal>--with-stream_geoip_module=dynamic</literal>
936 </tag-name>
937 <tag-desc>
938 enables building the
939 <link doc="stream/ngx_stream_geoip_module.xml">ngx_stream_geoip_module</link>
940 module that creates variables depending on the client IP address
941 and the precompiled
942 <link url="http://www.maxmind.com">MaxMind</link> databases.
943 This module is not built by default.
944 </tag-desc>
945
946 <tag-name>
947 <literal>--with-stream_ssl_preread_module</literal>
948 </tag-name>
949 <tag-desc>
950 enables building the
951 <link doc="stream/ngx_stream_ssl_preread_module.xml">ngx_stream_ssl_preread_module</link>
952 module that allows extracting information from the
953 <link url="https://tools.ietf.org/html/rfc5246#section-7.4.1.2">ClientHello</link>
954 message without terminating SSL/TLS.
955 This module is not built by default.
956 </tag-desc>
957
958 <tag-name>
959 <literal>--without-stream_limit_conn_module</literal>
960 </tag-name>
961 <tag-desc>
962 disables building the
963 <link doc="stream/ngx_stream_limit_conn_module.xml">ngx_stream_limit_conn_module</link>
964 module that limits the number of connections per key, for example,
965 the number of connections from a single IP address.
966 </tag-desc>
967
968 <tag-name>
969 <literal>--without-stream_access_module</literal>
970 </tag-name>
971 <tag-desc>
972 disables building the
973 <link doc="stream/ngx_stream_access_module.xml">ngx_stream_access_module</link>
974 module that allows limiting access to certain client addresses.
975 </tag-desc>
976
977 <tag-name>
978 <literal>--without-stream_geo_module</literal>
979 </tag-name>
980 <tag-desc>
981 disables building the
982 <link doc="stream/ngx_stream_geo_module.xml">ngx_stream_geo_module</link>
983 module that creates variables
984 with values depending on the client IP address.
985 </tag-desc>
986
987 <tag-name>
988 <literal>--without-stream_map_module</literal>
989 </tag-name>
990 <tag-desc>
991 disables building the
992 <link doc="stream/ngx_stream_map_module.xml">ngx_stream_map_module</link>
993 module that creates variables
994 with values depending on values of other variables.
995 </tag-desc>
996
997 <tag-name>
998 <literal>--without-stream_split_clients_module</literal>
999 </tag-name>
1000 <tag-desc>
1001 disables building the
1002 <link doc="stream/ngx_stream_split_clients_module.xml">ngx_stream_split_clients_module</link>
1003 module that creates variables for A/B testing.
1004 </tag-desc>
1005
1006 <tag-name>
1007 <literal>--without-stream_return_module</literal>
1008 </tag-name>
1009 <tag-desc>
1010 disables building the
1011 <link doc="stream/ngx_stream_return_module.xml">ngx_stream_return_module</link>
1012 module that sends some specified value to the client
1013 and then closes the connection.
1014 </tag-desc>
1015
1016 <tag-name>
1017 <literal>--without-stream_upstream_hash_module</literal>
1018 </tag-name>
1019 <tag-desc>
1020 disables building a module that implements the
1021 <link doc="stream/ngx_stream_upstream_module.xml" id="hash"/>
1022 load balancing method.
1023 </tag-desc>
1024
1025 <tag-name>
1026 <literal>--without-stream_upstream_least_conn_module</literal>
1027 </tag-name>
1028 <tag-desc>
1029 disables building a module that implements the
1030 <link doc="stream/ngx_stream_upstream_module.xml" id="least_conn"/>
1031 load balancing method.
1032 </tag-desc>
1033
1034 <tag-name>
1035 <literal>--without-stream_upstream_zone_module</literal>
1036 </tag-name>
1037 <tag-desc>
1038 disables building a module that makes it possible to store run-time state
1039 of an upstream group in a shared memory
1040 <link doc="stream/ngx_stream_upstream_module.xml" id="zone"/>.
1041 </tag-desc>
1042
1043 </list>
1044 </para>
1045
1046 <para>
1047 <list type="tag">
1048
1049 <tag-name>
1050 <literal>--with-google_perftools_module</literal>
1051 </tag-name>
1052 <tag-desc>
1053 enables building the
1054 <link doc="ngx_google_perftools_module.xml">ngx_google_perftools_module</link>
1055 module that enables profiling of nginx worker processes using
1056 <link url="https://github.com/gperftools/gperftools">Google Performance Tools</link>.
1057 The module is intended for nginx developers and is not built by default.
1058 </tag-desc>
1059
1060 <tag-name>
1061 <literal>--with-cpp_test_module</literal>
1062 </tag-name>
1063 <tag-desc>
1064 enables building the
1065 <literal>ngx_cpp_test_module</literal> module.
1066 </tag-desc>
1067
1068 </list>
1069 </para>
1070
1071 <para>
1072 <list type="tag">
1073
1074 <tag-name>
1075 <literal>--add-module=<value>path</value></literal>
1076 </tag-name>
1077 <tag-desc>
1078 enables an external module.
1079 </tag-desc>
1080
1081 <tag-name>
1082 <literal>--add-dynamic-module=<value>path</value></literal>
1083 </tag-name>
1084 <tag-desc>
1085 enables an external dynamic module.
1086 </tag-desc>
1087
1088 </list>
1089 </para>
1090
1091 <para>
1092 <list type="tag">
1093
1094 <tag-name>
1095 <literal>--with-compat</literal>
1096 </tag-name>
1097 <tag-desc>
1098 enables dynamic modules compatibility.
1099 </tag-desc>
1100
1101 </list>
1102 </para>
1103
1104 <para>
1105 <list type="tag">
1106
1107 <tag-name>
1108 <literal>--with-cc=<value>path</value></literal>
1109 </tag-name>
1110 <tag-desc>
1111 sets the name of the C compiler.
1112 </tag-desc>
1113
1114 <tag-name>
1115 <literal>--with-cpp=<value>path</value></literal>
1116 </tag-name>
1117 <tag-desc>
1118 sets the name of the C preprocessor.
1119 </tag-desc>
1120
1121 <tag-name>
1122 <literal>--with-cc-opt=<value>parameters</value></literal>
1123 </tag-name>
1124 <tag-desc>
1125 sets additional parameters that will be added to the CFLAGS variable.
1126 When using the system PCRE library under FreeBSD,
1127 <literal>--with-cc-opt="-I /usr/local/include"</literal>
1128 should be specified.
1129 If the number of files supported by <c-func>select</c-func> needs to be
1130 increased it can also be specified here such as this:
1131 <literal>--with-cc-opt="-D FD_SETSIZE=2048"</literal>.
1132 </tag-desc>
1133
1134 <tag-name>
1135 <literal>--with-ld-opt=<value>parameters</value></literal>
1136 </tag-name>
1137 <tag-desc>
1138 sets additional parameters that will be used during linking.
1139 When using the system PCRE library under FreeBSD,
1140 <literal>--with-ld-opt="-L /usr/local/lib"</literal>
1141 should be specified.
1142 </tag-desc>
1143
1144 <tag-name>
1145 <literal>--with-cpu-opt=<value>cpu</value></literal>
1146 </tag-name>
1147 <tag-desc>
1148 enables building per specified CPU:
1149 <literal>pentium</literal>, <literal>pentiumpro</literal>,
1150 <literal>pentium3</literal>, <literal>pentium4</literal>,
1151 <literal>athlon</literal>, <literal>opteron</literal>,
1152 <literal>sparc32</literal>, <literal>sparc64</literal>,
1153 <literal>ppc64</literal>.
1154 </tag-desc>
1155
1156 </list>
1157 </para>
1158
1159 <para>
1160 <list type="tag">
1161
1162 <tag-name>
1163 <literal>--without-pcre</literal>
1164 </tag-name>
1165 <tag-desc>
1166 disables the usage of the PCRE library.
1167 </tag-desc>
1168
1169 <tag-name>
1170 <literal>--with-pcre</literal>
1171 </tag-name>
1172 <tag-desc>
1173 forces the usage of the PCRE library.
186 </tag-desc> 1174 </tag-desc>
187 1175
188 <tag-name> 1176 <tag-name>
189 <literal>--with-pcre=<value>path</value></literal> 1177 <literal>--with-pcre=<value>path</value></literal>
190 </tag-name> 1178 </tag-name>
201 <link doc="http/ngx_http_rewrite_module.xml">ngx_http_rewrite_module</link> 1189 <link doc="http/ngx_http_rewrite_module.xml">ngx_http_rewrite_module</link>
202 module. 1190 module.
203 </tag-desc> 1191 </tag-desc>
204 1192
205 <tag-name> 1193 <tag-name>
1194 <literal>--with-pcre-opt=<value>parameters</value></literal>
1195 </tag-name>
1196 <tag-desc>
1197 sets additional build options for PCRE.
1198 </tag-desc>
1199
1200 <tag-name>
206 <literal>--with-pcre-jit</literal> 1201 <literal>--with-pcre-jit</literal>
207 </tag-name> 1202 </tag-name>
208 <tag-desc> 1203 <tag-desc>
209 builds the PCRE library with 1204 builds the PCRE library with
210 “just-in-time compilation” support (1.1.12, the 1205 “just-in-time compilation” support (1.1.12, the
211 <link doc="ngx_core_module.xml" id="pcre_jit"/> directive). 1206 <link doc="ngx_core_module.xml" id="pcre_jit"/> directive).
212 </tag-desc> 1207 </tag-desc>
1208
1209 </list>
1210 </para>
1211
1212 <para>
1213 <list type="tag">
213 1214
214 <tag-name> 1215 <tag-name>
215 <literal>--with-zlib=<value>path</value></literal> 1216 <literal>--with-zlib=<value>path</value></literal>
216 </tag-name> 1217 </tag-name>
217 <tag-desc> 1218 <tag-desc>
224 The library is required for the 1225 The library is required for the
225 <link doc="http/ngx_http_gzip_module.xml">ngx_http_gzip_module</link> module. 1226 <link doc="http/ngx_http_gzip_module.xml">ngx_http_gzip_module</link> module.
226 </tag-desc> 1227 </tag-desc>
227 1228
228 <tag-name> 1229 <tag-name>
229 <literal>--with-cc-opt=<value>parameters</value></literal> 1230 <literal>--with-zlib-opt=<value>parameters</value></literal>
230 </tag-name> 1231 </tag-name>
231 <tag-desc> 1232 <tag-desc>
232 sets additional parameters that will be added to the CFLAGS variable. 1233 sets additional build options for zlib.
233 When using the system PCRE library under FreeBSD, 1234 </tag-desc>
234 <literal>--with-cc-opt="-I /usr/local/include"</literal> 1235
235 should be specified. 1236 <tag-name>
236 If the number of files supported by <c-func>select</c-func> needs to be 1237 <literal>--with-zlib-asm=<value>cpu</value></literal>
237 increased it can also be specified here such as this: 1238 </tag-name>
238 <literal>--with-cc-opt="-D FD_SETSIZE=2048"</literal>. 1239 <tag-desc>
239 </tag-desc> 1240 enables the use of the zlib assembler sources optimized
240 1241 for one of the specified CPUs:
241 <tag-name> 1242 <literal>pentium</literal>, <literal>pentiumpro</literal>.
242 <literal>--with-ld-opt=<value>parameters</value></literal> 1243 </tag-desc>
243 </tag-name> 1244
244 <tag-desc> 1245 </list>
245 sets additional parameters that will be used during linking. 1246 </para>
246 When using the system PCRE library under FreeBSD, 1247
247 <literal>--with-ld-opt="-L /usr/local/lib"</literal> 1248 <para>
248 should be specified. 1249 <list type="tag">
249 </tag-desc> 1250
250 1251 <tag-name>
251 </list> 1252 <literal>--with-libatomic</literal>
252 1253 </tag-name>
1254 <tag-desc>
1255 forces the libatomic_ops library usage.
1256 </tag-desc>
1257
1258 <tag-name>
1259 <literal>--with-libatomic=<value>path</value></literal>
1260 </tag-name>
1261 <tag-desc>
1262 sets the path to the libatomic_ops library sources.
1263 </tag-desc>
1264
1265 </list>
1266 </para>
1267
1268 <para>
1269 <list type="tag">
1270
1271 <tag-name>
1272 <literal>--with-openssl=<value>path</value></literal>
1273 </tag-name>
1274 <tag-desc>
1275 sets the path to the OpenSSL library sources.
1276 </tag-desc>
1277
1278 <tag-name>
1279 <literal>--with-openssl-opt=<value>parameters</value></literal>
1280 </tag-name>
1281 <tag-desc>
1282 sets additional build options for OpenSSL.
1283 </tag-desc>
1284
1285 </list>
1286 </para>
1287
1288 <para>
1289 <list type="tag">
1290
1291 <tag-name>
1292 <literal>--with-debug</literal>
1293 </tag-name>
1294 <tag-desc>
1295 enables the <link doc="debugging_log.xml">debugging log</link>.
1296 </tag-desc>
1297
1298 </list>
253 </para> 1299 </para>
254 1300
255 <para> 1301 <para>
256 Example of parameters usage (all of this needs to be typed in one line): 1302 Example of parameters usage (all of this needs to be typed in one line):
257 <programlisting> 1303 <programlisting>