Mercurial > hg > nginx-site
view xml/en/docs/configure.xml @ 2721:7041bddec07d
Documented variables support for certificates in proxy, uwsgi, grpc.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Wed, 28 Apr 2021 22:37:48 +0100 |
parents | 1e9c2a8c1bf1 |
children | 61a89c4f37cf |
line wrap: on
line source
<!-- Copyright (C) Igor Sysoev Copyright (C) Nginx, Inc. --> <!DOCTYPE article SYSTEM "../../../dtd/article.dtd"> <article name="Building nginx from Sources" link="/en/docs/configure.html" lang="en" rev="17"> <section> <para> The build is configured using the <command>configure</command> command. It defines various aspects of the system, including the methods nginx is allowed to use for connection processing. At the end it creates a <path>Makefile</path>. </para> <para> The <command>configure</command> command supports the following parameters: </para> <para> <list type="tag"> <tag-name> <literal>--help</literal> </tag-name> <tag-desc> prints a help message. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--prefix=<value>path</value></literal> </tag-name> <tag-desc> defines a directory that will keep server files. This same directory will also be used for all relative paths set by <command>configure</command> (except for paths to libraries sources) and in the <path>nginx.conf</path> configuration file. It is set to the <path>/usr/local/nginx</path> directory by default. </tag-desc> <tag-name> <literal>--sbin-path=<value>path</value></literal> </tag-name> <tag-desc> sets the name of an nginx executable file. This name is used only during installation. By default the file is named <path><value>prefix</value>/sbin/nginx</path>. </tag-desc> <tag-name> <literal>--modules-path=<value>path</value></literal> </tag-name> <tag-desc> defines a directory where nginx dynamic modules will be installed. By default the <path><value>prefix</value>/modules</path> directory is used. </tag-desc> <tag-name> <literal>--conf-path=<value>path</value></literal> </tag-name> <tag-desc> sets the name of an <path>nginx.conf</path> configuration file. If needs be, nginx can always be started with a different configuration file, by specifying it in the command-line parameter <nobr><literal>-c <value>file</value></literal></nobr>. By default the file is named <path><value>prefix</value>/conf/nginx.conf</path>. </tag-desc> <tag-name> <literal>--error-log-path=<value>path</value></literal> </tag-name> <tag-desc> sets the name of the primary error, warnings, and diagnostic file. After installation, the file name can always be changed in the <path>nginx.conf</path> configuration file using the <link doc="ngx_core_module.xml" id="error_log"/> directive. By default the file is named <path><value>prefix</value>/logs/error.log</path>. </tag-desc> <tag-name> <literal>--pid-path=<value>path</value></literal> </tag-name> <tag-desc> sets the name of an <path>nginx.pid</path> file that will store the process ID of the main process. After installation, the file name can always be changed in the <path>nginx.conf</path> configuration file using the <link doc="ngx_core_module.xml" id="pid"/> directive. By default the file is named <path><value>prefix</value>/logs/nginx.pid</path>. </tag-desc> <tag-name> <literal>--lock-path=<value>path</value></literal> </tag-name> <tag-desc> sets a prefix for the names of lock files. After installation, the value can always be changed in the <path>nginx.conf</path> configuration file using the <link doc="ngx_core_module.xml" id="lock_file"/> directive. By default the value is <path><value>prefix</value>/logs/nginx.lock</path>. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--user=<value>name</value></literal> </tag-name> <tag-desc> sets the name of an unprivileged user whose credentials will be used by worker processes. After installation, the name can always be changed in the <path>nginx.conf</path> configuration file using the <link doc="ngx_core_module.xml" id="user"/> directive. The default user name is nobody. </tag-desc> <tag-name> <literal>--group=<value>name</value></literal> </tag-name> <tag-desc> sets the name of a group whose credentials will be used by worker processes. After installation, the name can always be changed in the <path>nginx.conf</path> configuration file using the <link doc="ngx_core_module.xml" id="user"/> directive. By default, a group name is set to the name of an unprivileged user. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name id="build"> <literal>--build=<value>name</value></literal> </tag-name> <tag-desc> sets an optional nginx build name. </tag-desc> <tag-name> <literal>--builddir=<value>path</value></literal> </tag-name> <tag-desc> sets a build directory. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--with-select_module</literal><br/> <literal>--without-select_module</literal> </tag-name> <tag-desc> enables or disables building a module that allows the server to work with the <c-func>select</c-func> method. This module is built automatically if the platform does not appear to support more appropriate methods such as kqueue, epoll, or /dev/poll. </tag-desc> <tag-name> <literal>--with-poll_module</literal><br/> <literal>--without-poll_module</literal> </tag-name> <tag-desc> enables or disables building a module that allows the server to work with the <c-func>poll</c-func> method. This module is built automatically if the platform does not appear to support more appropriate methods such as kqueue, epoll, or /dev/poll. </tag-desc> <tag-name> <literal>--with-threads</literal> </tag-name> <tag-desc> enables the use of <link doc="ngx_core_module.xml" id="thread_pool">thread pools</link>. </tag-desc> <tag-name> <literal>--with-file-aio</literal> </tag-name> <tag-desc> enables the use of <link doc="http/ngx_http_core_module.xml" id="aio">asynchronous file I/O</link> (AIO) on FreeBSD and Linux. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--with-http_ssl_module</literal> </tag-name> <tag-desc> enables building a module that adds the <link doc="http/ngx_http_ssl_module.xml">HTTPS protocol support</link> to an HTTP server. This module is not built by default. The OpenSSL library is required to build and run this module. </tag-desc> <tag-name> <literal>--with-http_v2_module</literal> </tag-name> <tag-desc> enables building a module that provides support for <link doc="http/ngx_http_v2_module.xml">HTTP/2</link>. This module is not built by default. </tag-desc> <tag-name> <literal>--with-http_realip_module</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_http_realip_module.xml">ngx_http_realip_module</link> module that changes the client address to the address sent in the specified header field. This module is not built by default. </tag-desc> <tag-name> <literal>--with-http_addition_module</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_http_addition_module.xml">ngx_http_addition_module</link> module that adds text before and after a response. This module is not built by default. </tag-desc> <tag-name> <literal>--with-http_xslt_module</literal><br/> <literal>--with-http_xslt_module=dynamic</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_http_xslt_module.xml">ngx_http_xslt_module</link> module that transforms XML responses using one or more XSLT stylesheets. This module is not built by default. The <link url="http://xmlsoft.org">libxml2</link> and <link url="http://xmlsoft.org/XSLT/">libxslt</link> libraries are required to build and run this module. </tag-desc> <tag-name> <literal>--with-http_image_filter_module</literal><br/> <literal>--with-http_image_filter_module=dynamic</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_http_image_filter_module.xml">ngx_http_image_filter_module</link> module that transforms images in JPEG, GIF, PNG, and WebP formats. This module is not built by default. </tag-desc> <tag-name> <literal>--with-http_geoip_module</literal><br/> <literal>--with-http_geoip_module=dynamic</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_http_geoip_module.xml">ngx_http_geoip_module</link> module that creates variables depending on the client IP address and the precompiled <link url="http://www.maxmind.com">MaxMind</link> databases. This module is not built by default. </tag-desc> <tag-name> <literal>--with-http_sub_module</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_http_sub_module.xml">ngx_http_sub_module</link> module that modifies a response by replacing one specified string by another. This module is not built by default. </tag-desc> <tag-name> <literal>--with-http_dav_module</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_http_dav_module.xml">ngx_http_dav_module</link> module that provides file management automation via the WebDAV protocol. This module is not built by default. </tag-desc> <tag-name> <literal>--with-http_flv_module</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_http_flv_module.xml">ngx_http_flv_module</link> module that provides pseudo-streaming server-side support for Flash Video (FLV) files. This module is not built by default. </tag-desc> <tag-name> <literal>--with-http_mp4_module</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_http_mp4_module.xml">ngx_http_mp4_module</link> module that provides pseudo-streaming server-side support for MP4 files. This module is not built by default. </tag-desc> <tag-name> <literal>--with-http_gunzip_module</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_http_gunzip_module.xml">ngx_http_gunzip_module</link> module that decompresses responses with “<literal>Content-Encoding: gzip</literal>” for clients that do not support “gzip” encoding method. This module is not built by default. </tag-desc> <tag-name> <literal>--with-http_gzip_static_module</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_http_gzip_static_module.xml">ngx_http_gzip_static_module</link> module that enables sending precompressed files with the “<literal>.gz</literal>” filename extension instead of regular files. This module is not built by default. </tag-desc> <tag-name> <literal>--with-http_auth_request_module</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_http_auth_request_module.xml">ngx_http_auth_request_module</link> module that implements client authorization based on the result of a subrequest. This module is not built by default. </tag-desc> <tag-name> <literal>--with-http_random_index_module</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_http_random_index_module.xml">ngx_http_random_index_module</link> module that processes requests ending with the slash character (‘<literal>/</literal>’) and picks a random file in a directory to serve as an index file. This module is not built by default. </tag-desc> <tag-name> <literal>--with-http_secure_link_module</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_http_secure_link_module.xml">ngx_http_secure_link_module</link> module. This module is not built by default. </tag-desc> <tag-name> <literal>--with-http_degradation_module</literal> </tag-name> <tag-desc> enables building the <literal>ngx_http_degradation_module</literal> module. This module is not built by default. </tag-desc> <tag-name> <literal>--with-http_slice_module</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_http_slice_module.xml">ngx_http_slice_module</link> module that splits a request into subrequests, each returning a certain range of response. The module provides more effective caching of big responses. This module is not built by default. </tag-desc> <tag-name> <literal>--with-http_stub_status_module</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_http_stub_status_module.xml">ngx_http_stub_status_module</link> module that provides access to basic status information. This module is not built by default. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--without-http_charset_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_charset_module.xml">ngx_http_charset_module</link> module that adds the specified charset to the <header>Content-Type</header> response header field and can additionally convert data from one charset to another. </tag-desc> <tag-name> <literal>--without-http_gzip_module</literal> </tag-name> <tag-desc> disables building a module that <link doc="http/ngx_http_gzip_module.xml">compresses responses</link> of an HTTP server. The zlib library is required to build and run this module. </tag-desc> <tag-name> <literal>--without-http_ssi_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_ssi_module.xml">ngx_http_ssi_module</link> module that processes SSI (Server Side Includes) commands in responses passing through it. </tag-desc> <tag-name> <literal>--without-http_userid_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_userid_module.xml">ngx_http_userid_module</link> module that sets cookies suitable for client identification. </tag-desc> <tag-name> <literal>--without-http_access_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_access_module.xml">ngx_http_access_module</link> module that allows limiting access to certain client addresses. </tag-desc> <tag-name> <literal>--without-http_auth_basic_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_auth_basic_module.xml">ngx_http_auth_basic_module</link> module that allows limiting access to resources by validating the user name and password using the “HTTP Basic Authentication” protocol. </tag-desc> <tag-name> <literal>--without-http_mirror_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_mirror_module.xml">ngx_http_mirror_module</link> module that implements mirroring of an original request by creating background mirror subrequests. </tag-desc> <tag-name> <literal>--without-http_autoindex_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_autoindex_module.xml">ngx_http_autoindex_module</link> module that processes requests ending with the slash character (‘<literal>/</literal>’) and produces a directory listing in case the <link doc="http/ngx_http_index_module.xml">ngx_http_index_module</link> module cannot find an index file. </tag-desc> <tag-name> <literal>--without-http_geo_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_geo_module.xml">ngx_http_geo_module</link> module that creates variables with values depending on the client IP address. </tag-desc> <tag-name> <literal>--without-http_map_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_map_module.xml">ngx_http_map_module</link> module that creates variables with values depending on values of other variables. </tag-desc> <tag-name> <literal>--without-http_split_clients_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_split_clients_module.xml">ngx_http_split_clients_module</link> module that creates variables for A/B testing. </tag-desc> <tag-name> <literal>--without-http_referer_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_referer_module.xml">ngx_http_referer_module</link> module that can block access to a site for requests with invalid values in the <header>Referer</header> header field. </tag-desc> <tag-name> <literal>--without-http_rewrite_module</literal> </tag-name> <tag-desc> disables building a module that allows an HTTP server to <link doc="http/ngx_http_rewrite_module.xml">redirect requests and change URI of requests</link>. The PCRE library is required to build and run this module. </tag-desc> <tag-name> <literal>--without-http_proxy_module</literal> </tag-name> <tag-desc> disables building an HTTP server <link doc="http/ngx_http_proxy_module.xml">proxying module</link>. <!-- The MD5 library is required to build and run this module. --> </tag-desc> <tag-name> <literal>--without-http_fastcgi_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_fastcgi_module.xml">ngx_http_fastcgi_module</link> module that passes requests to a FastCGI server. </tag-desc> <tag-name> <literal>--without-http_uwsgi_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_uwsgi_module.xml">ngx_http_uwsgi_module</link> module that passes requests to a uwsgi server. </tag-desc> <tag-name> <literal>--without-http_scgi_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_scgi_module.xml">ngx_http_scgi_module</link> module that passes requests to an SCGI server. </tag-desc> <tag-name> <literal>--without-http_grpc_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_grpc_module.xml">ngx_http_grpc_module</link> module that passes requests to a gRPC server. </tag-desc> <tag-name> <literal>--without-http_memcached_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_memcached_module.xml">ngx_http_memcached_module</link> module that obtains responses from a memcached server. </tag-desc> <tag-name> <literal>--without-http_limit_conn_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_limit_conn_module.xml">ngx_http_limit_conn_module</link> module that limits the number of connections per key, for example, the number of connections from a single IP address. </tag-desc> <tag-name> <literal>--without-http_limit_req_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_limit_req_module.xml">ngx_http_limit_req_module</link> module that limits the request processing rate per key, for example, the processing rate of requests coming from a single IP address. </tag-desc> <tag-name> <literal>--without-http_empty_gif_module</literal> </tag-name> <tag-desc> disables building a module that <link doc="http/ngx_http_empty_gif_module.xml">emits single-pixel transparent GIF</link>. </tag-desc> <tag-name> <literal>--without-http_browser_module</literal> </tag-name> <tag-desc> disables building the <link doc="http/ngx_http_browser_module.xml">ngx_http_browser_module</link> module that creates variables whose values depend on the value of the <header>User-Agent</header> request header field. </tag-desc> <tag-name> <literal>--without-http_upstream_hash_module</literal> </tag-name> <tag-desc> disables building a module that implements the <link doc="http/ngx_http_upstream_module.xml" id="hash"/> load balancing method. </tag-desc> <tag-name> <literal>--without-http_upstream_ip_hash_module</literal> </tag-name> <tag-desc> disables building a module that implements the <link doc="http/ngx_http_upstream_module.xml" id="ip_hash"/> load balancing method. </tag-desc> <tag-name> <literal>--without-http_upstream_least_conn_module</literal> </tag-name> <tag-desc> disables building a module that implements the <link doc="http/ngx_http_upstream_module.xml" id="least_conn"/> load balancing method. </tag-desc> <tag-name> <literal>--without-http_upstream_keepalive_module</literal> </tag-name> <tag-desc> disables building a module that provides <link doc="http/ngx_http_upstream_module.xml" id="keepalive">caching of connections</link> to upstream servers. </tag-desc> <tag-name> <literal>--without-http_upstream_zone_module</literal> </tag-name> <tag-desc> disables building a module that makes it possible to store run-time state of an upstream group in a shared memory <link doc="http/ngx_http_upstream_module.xml" id="zone"/>. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--with-http_perl_module</literal><br/> <literal>--with-http_perl_module=dynamic</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_http_perl_module.xml">embedded Perl module</link>. This module is not built by default. </tag-desc> <tag-name> <literal>--with-perl_modules_path=<value>path</value></literal> </tag-name> <tag-desc> defines a directory that will keep Perl modules. </tag-desc> <tag-name> <literal>--with-perl=<value>path</value></literal> </tag-name> <tag-desc> sets the name of the Perl binary. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--http-log-path=<value>path</value></literal> </tag-name> <tag-desc> sets the name of the primary request log file of the HTTP server. After installation, the file name can always be changed in the <path>nginx.conf</path> configuration file using the <link doc="http/ngx_http_log_module.xml" id="access_log"/> directive. By default the file is named <path><value>prefix</value>/logs/access.log</path>. </tag-desc> <tag-name> <literal>--http-client-body-temp-path=<value>path</value></literal> </tag-name> <tag-desc> defines a directory for storing temporary files that hold client request bodies. After installation, the directory can always be changed in the <path>nginx.conf</path> configuration file using the <link doc="http/ngx_http_core_module.xml" id="client_body_temp_path"/> directive. By default the directory is named <path><value>prefix</value>/client_body_temp</path>. </tag-desc> <tag-name> <literal>--http-proxy-temp-path=<value>path</value></literal> </tag-name> <tag-desc> defines a directory for storing temporary files with data received from proxied servers. After installation, the directory can always be changed in the <path>nginx.conf</path> configuration file using the <link doc="http/ngx_http_proxy_module.xml" id="proxy_temp_path"/> directive. By default the directory is named <path><value>prefix</value>/proxy_temp</path>. </tag-desc> <tag-name> <literal>--http-fastcgi-temp-path=<value>path</value></literal> </tag-name> <tag-desc> defines a directory for storing temporary files with data received from FastCGI servers. After installation, the directory can always be changed in the <path>nginx.conf</path> configuration file using the <link doc="http/ngx_http_fastcgi_module.xml" id="fastcgi_temp_path"/> directive. By default the directory is named <path><value>prefix</value>/fastcgi_temp</path>. </tag-desc> <tag-name> <literal>--http-uwsgi-temp-path=<value>path</value></literal> </tag-name> <tag-desc> defines a directory for storing temporary files with data received from uwsgi servers. After installation, the directory can always be changed in the <path>nginx.conf</path> configuration file using the <link doc="http/ngx_http_uwsgi_module.xml" id="uwsgi_temp_path"/> directive. By default the directory is named <path><value>prefix</value>/uwsgi_temp</path>. </tag-desc> <tag-name> <literal>--http-scgi-temp-path=<value>path</value></literal> </tag-name> <tag-desc> defines a directory for storing temporary files with data received from SCGI servers. After installation, the directory can always be changed in the <path>nginx.conf</path> configuration file using the <link doc="http/ngx_http_scgi_module.xml" id="scgi_temp_path"/> directive. By default the directory is named <path><value>prefix</value>/scgi_temp</path>. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--without-http</literal> </tag-name> <tag-desc> disables the <link doc="http/ngx_http_core_module.xml">HTTP</link> server. </tag-desc> <tag-name> <literal>--without-http-cache</literal> </tag-name> <tag-desc> disables HTTP cache. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--with-mail</literal><br/> <literal>--with-mail=dynamic</literal> </tag-name> <tag-desc> enables POP3/IMAP4/SMTP <link doc="mail/ngx_mail_core_module.xml">mail proxy</link> server. </tag-desc> <tag-name> <literal>--with-mail_ssl_module</literal> </tag-name> <tag-desc> enables building a module that adds the <link doc="mail/ngx_mail_ssl_module.xml">SSL/TLS protocol support</link> to the mail proxy server. This module is not built by default. The OpenSSL library is required to build and run this module. </tag-desc> <tag-name> <literal>--without-mail_pop3_module</literal> </tag-name> <tag-desc> disables the <link doc="mail/ngx_mail_pop3_module.xml">POP3</link> protocol in mail proxy server. </tag-desc> <tag-name> <literal>--without-mail_imap_module</literal> </tag-name> <tag-desc> disables the <link doc="mail/ngx_mail_imap_module.xml">IMAP</link> protocol in mail proxy server. </tag-desc> <tag-name> <literal>--without-mail_smtp_module</literal> </tag-name> <tag-desc> disables the <link doc="mail/ngx_mail_smtp_module.xml">SMTP</link> protocol in mail proxy server. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--with-stream</literal><br/> <literal>--with-stream=dynamic</literal> </tag-name> <tag-desc> enables building the <link doc="stream/ngx_stream_core_module.xml">stream module</link> for generic TCP/UDP proxying and load balancing. This module is not built by default. </tag-desc> <tag-name> <literal>--with-stream_ssl_module</literal> </tag-name> <tag-desc> enables building a module that adds the <link doc="stream/ngx_stream_ssl_module.xml">SSL/TLS protocol support</link> to the stream module. This module is not built by default. The OpenSSL library is required to build and run this module. </tag-desc> <tag-name> <literal>--with-stream_realip_module</literal> </tag-name> <tag-desc> enables building the <link doc="http/ngx_stream_realip_module.xml">ngx_stream_realip_module</link> module that changes the client address to the address sent in the PROXY protocol header. This module is not built by default. </tag-desc> <tag-name> <literal>--with-stream_geoip_module</literal><br/> <literal>--with-stream_geoip_module=dynamic</literal> </tag-name> <tag-desc> enables building the <link doc="stream/ngx_stream_geoip_module.xml">ngx_stream_geoip_module</link> module that creates variables depending on the client IP address and the precompiled <link url="http://www.maxmind.com">MaxMind</link> databases. This module is not built by default. </tag-desc> <tag-name> <literal>--with-stream_ssl_preread_module</literal> </tag-name> <tag-desc> enables building the <link doc="stream/ngx_stream_ssl_preread_module.xml">ngx_stream_ssl_preread_module</link> module that allows extracting information from the <link url="https://tools.ietf.org/html/rfc5246#section-7.4.1.2">ClientHello</link> message without terminating SSL/TLS. This module is not built by default. </tag-desc> <tag-name> <literal>--without-stream_limit_conn_module</literal> </tag-name> <tag-desc> disables building the <link doc="stream/ngx_stream_limit_conn_module.xml">ngx_stream_limit_conn_module</link> module that limits the number of connections per key, for example, the number of connections from a single IP address. </tag-desc> <tag-name> <literal>--without-stream_access_module</literal> </tag-name> <tag-desc> disables building the <link doc="stream/ngx_stream_access_module.xml">ngx_stream_access_module</link> module that allows limiting access to certain client addresses. </tag-desc> <tag-name> <literal>--without-stream_geo_module</literal> </tag-name> <tag-desc> disables building the <link doc="stream/ngx_stream_geo_module.xml">ngx_stream_geo_module</link> module that creates variables with values depending on the client IP address. </tag-desc> <tag-name> <literal>--without-stream_map_module</literal> </tag-name> <tag-desc> disables building the <link doc="stream/ngx_stream_map_module.xml">ngx_stream_map_module</link> module that creates variables with values depending on values of other variables. </tag-desc> <tag-name> <literal>--without-stream_split_clients_module</literal> </tag-name> <tag-desc> disables building the <link doc="stream/ngx_stream_split_clients_module.xml">ngx_stream_split_clients_module</link> module that creates variables for A/B testing. </tag-desc> <tag-name> <literal>--without-stream_return_module</literal> </tag-name> <tag-desc> disables building the <link doc="stream/ngx_stream_return_module.xml">ngx_stream_return_module</link> module that sends some specified value to the client and then closes the connection. </tag-desc> <tag-name> <literal>--without-stream_upstream_hash_module</literal> </tag-name> <tag-desc> disables building a module that implements the <link doc="stream/ngx_stream_upstream_module.xml" id="hash"/> load balancing method. </tag-desc> <tag-name> <literal>--without-stream_upstream_least_conn_module</literal> </tag-name> <tag-desc> disables building a module that implements the <link doc="stream/ngx_stream_upstream_module.xml" id="least_conn"/> load balancing method. </tag-desc> <tag-name> <literal>--without-stream_upstream_zone_module</literal> </tag-name> <tag-desc> disables building a module that makes it possible to store run-time state of an upstream group in a shared memory <link doc="stream/ngx_stream_upstream_module.xml" id="zone"/>. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--with-google_perftools_module</literal> </tag-name> <tag-desc> enables building the <link doc="ngx_google_perftools_module.xml">ngx_google_perftools_module</link> module that enables profiling of nginx worker processes using <link url="https://github.com/gperftools/gperftools">Google Performance Tools</link>. The module is intended for nginx developers and is not built by default. </tag-desc> <tag-name> <literal>--with-cpp_test_module</literal> </tag-name> <tag-desc> enables building the <literal>ngx_cpp_test_module</literal> module. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--add-module=<value>path</value></literal> </tag-name> <tag-desc> enables an external module. </tag-desc> <tag-name> <literal>--add-dynamic-module=<value>path</value></literal> </tag-name> <tag-desc> enables an external dynamic module. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--with-compat</literal> </tag-name> <tag-desc> enables dynamic modules compatibility. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--with-cc=<value>path</value></literal> </tag-name> <tag-desc> sets the name of the C compiler. </tag-desc> <tag-name> <literal>--with-cpp=<value>path</value></literal> </tag-name> <tag-desc> sets the name of the C preprocessor. </tag-desc> <tag-name> <literal>--with-cc-opt=<value>parameters</value></literal> </tag-name> <tag-desc> sets additional parameters that will be added to the CFLAGS variable. When using the system PCRE library under FreeBSD, <literal>--with-cc-opt="-I /usr/local/include"</literal> should be specified. If the number of files supported by <c-func>select</c-func> needs to be increased it can also be specified here such as this: <literal>--with-cc-opt="-D FD_SETSIZE=2048"</literal>. </tag-desc> <tag-name> <literal>--with-ld-opt=<value>parameters</value></literal> </tag-name> <tag-desc> sets additional parameters that will be used during linking. When using the system PCRE library under FreeBSD, <literal>--with-ld-opt="-L /usr/local/lib"</literal> should be specified. </tag-desc> <tag-name> <literal>--with-cpu-opt=<value>cpu</value></literal> </tag-name> <tag-desc> enables building per specified CPU: <literal>pentium</literal>, <literal>pentiumpro</literal>, <literal>pentium3</literal>, <literal>pentium4</literal>, <literal>athlon</literal>, <literal>opteron</literal>, <literal>sparc32</literal>, <literal>sparc64</literal>, <literal>ppc64</literal>. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--without-pcre</literal> </tag-name> <tag-desc> disables the usage of the PCRE library. </tag-desc> <tag-name> <literal>--with-pcre</literal> </tag-name> <tag-desc> forces the usage of the PCRE library. </tag-desc> <tag-name> <literal>--with-pcre=<value>path</value></literal> </tag-name> <tag-desc> sets the path to the sources of the PCRE library. The library distribution (version 4.4—8.43) needs to be downloaded from the <link url="http://www.pcre.org">PCRE</link> site and extracted. The rest is done by nginx’s <command>./configure</command> and <command>make</command>. The library is required for regular expressions support in the <link doc="http/ngx_http_core_module.xml" id="location"/> directive and for the <link doc="http/ngx_http_rewrite_module.xml">ngx_http_rewrite_module</link> module. </tag-desc> <tag-name> <literal>--with-pcre-opt=<value>parameters</value></literal> </tag-name> <tag-desc> sets additional build options for PCRE. </tag-desc> <tag-name> <literal>--with-pcre-jit</literal> </tag-name> <tag-desc> builds the PCRE library with “just-in-time compilation” support (1.1.12, the <link doc="ngx_core_module.xml" id="pcre_jit"/> directive). </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--with-zlib=<value>path</value></literal> </tag-name> <tag-desc> sets the path to the sources of the zlib library. The library distribution (version 1.1.3—1.2.11) needs to be downloaded from the <link url="http://zlib.net">zlib</link> site and extracted. The rest is done by nginx’s <command>./configure</command> and <command>make</command>. The library is required for the <link doc="http/ngx_http_gzip_module.xml">ngx_http_gzip_module</link> module. </tag-desc> <tag-name> <literal>--with-zlib-opt=<value>parameters</value></literal> </tag-name> <tag-desc> sets additional build options for zlib. </tag-desc> <tag-name> <literal>--with-zlib-asm=<value>cpu</value></literal> </tag-name> <tag-desc> enables the use of the zlib assembler sources optimized for one of the specified CPUs: <literal>pentium</literal>, <literal>pentiumpro</literal>. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--with-libatomic</literal> </tag-name> <tag-desc> forces the libatomic_ops library usage. </tag-desc> <tag-name> <literal>--with-libatomic=<value>path</value></literal> </tag-name> <tag-desc> sets the path to the libatomic_ops library sources. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--with-openssl=<value>path</value></literal> </tag-name> <tag-desc> sets the path to the OpenSSL library sources. </tag-desc> <tag-name> <literal>--with-openssl-opt=<value>parameters</value></literal> </tag-name> <tag-desc> sets additional build options for OpenSSL. </tag-desc> </list> </para> <para> <list type="tag"> <tag-name> <literal>--with-debug</literal> </tag-name> <tag-desc> enables the <link doc="debugging_log.xml">debugging log</link>. </tag-desc> </list> </para> <para> Example of parameters usage (all of this needs to be typed in one line): <programlisting> ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=../pcre-8.44 --with-zlib=../zlib-1.2.11 </programlisting> </para> <para> After configuration, nginx is compiled and installed using <command>make</command>. </para> </section> </article>