Spec-Zone.ru › nginx

Сборка nginx из исходного кода

Настройка сборки выполняется с помощью команды configure. Она определяет различные параметры системы, в том числе методы, которые nginx может использовать для обработки соединений. В конце создаётся Makefile.

Команда configure поддерживает следующие параметры:

--help
выводит справочное сообщение.
--prefix=path
задаёт каталог для хранения файлов сервера. Этот же каталог будет использоваться для всех относительных путей, заданных с помощью configure (за исключением путей к исходным кодам библиотек), а также в файле конфигурации nginx.conf. По умолчанию задаётся каталог /usr/local/nginx.
--sbin-path=path
задаёт имя исполняемого файла nginx. Это имя используется только при установке. По умолчанию файл называется prefix/sbin/nginx.
--modules-path=path
задаёт каталог для установки динамических модулей nginx. По умолчанию используется каталог prefix/modules.
--conf-path=path
задаёт имя файла конфигурации nginx.conf. При необходимости nginx всегда можно запустить с другим файлом конфигурации, указав его в параметре командной строки -c file. По умолчанию файл называется prefix/conf/nginx.conf.
--error-log-path=path
задаёт имя основного файла ошибок, предупреждений и диагностических сообщений. После установки имя файла всегда можно изменить в файле конфигурации nginx.conf с помощью директивы error_log. По умолчанию файл называется prefix/logs/error.log.
--pid-path=path
задаёт имя файла nginx.pid, в котором будет храниться идентификатор процесса главного процесса. После установки имя файла всегда можно изменить в файле конфигурации nginx.conf с помощью директивы pid. По умолчанию файл называется prefix/logs/nginx.pid.
--lock-path=path
задаёт префикс имён файлов блокировок. После установки это значение всегда можно изменить в файле конфигурации nginx.conf с помощью директивы lock_file. По умолчанию используется значение prefix/logs/nginx.lock.
--user=name
задаёт имя непривилегированного пользователя, от имени которого будут работать рабочие процессы. После установки это имя всегда можно изменить в файле конфигурации nginx.conf с помощью директивы user. По умолчанию используется имя пользователя nobody.
--group=name
задаёт имя группы, от имени которой будут работать рабочие процессы. После установки это имя всегда можно изменить в файле конфигурации nginx.conf с помощью директивы user. По умолчанию в качестве имени группы используется имя непривилегированного пользователя.
--build=name
задаёт необязательное имя сборки nginx.
--builddir=path
задаёт каталог сборки.
--with-select_module
--without-select_module
включает или отключает сборку модуля, позволяющего серверу работать с методом select(). Этот модуль собирается автоматически, если платформа, по всей видимости, не поддерживает более подходящие методы, такие как kqueue, epoll или /dev/poll.
--with-poll_module
--without-poll_module
включает или отключает сборку модуля, позволяющего серверу работать с методом poll(). Этот модуль собирается автоматически, если платформа, по всей видимости, не поддерживает более подходящие методы, такие как kqueue, epoll или /dev/poll.
--with-threads
включает использование пулов потоков.
--with-file-aio
включает использование асинхронного ввода-вывода файлов (AIO) во FreeBSD и Linux.
--with-http_ssl_module
включает сборку модуля, добавляющего поддержку протокола HTTPS HTTP-серверу. Этот модуль по умолчанию не собирается. Для сборки и работы модуля требуется библиотека OpenSSL.
--with-http_v2_module
включает сборку модуля, обеспечивающего поддержку HTTP/2. Этот модуль по умолчанию не собирается.
--with-http_v3_module
включает сборку модуля, обеспечивающего поддержку HTTP/3. Этот модуль по умолчанию не собирается. Для сборки и работы модуля требуется библиотека OpenSSL с поддержкой HTTP/3.
--with-http_realip_module
включает сборку модуля ngx_http_realip_module, который заменяет адрес клиента адресом, переданным в указанном поле заголовка. Этот модуль по умолчанию не собирается.
--with-http_addition_module
включает сборку модуля ngx_http_addition_module, который добавляет текст перед ответом и после него. Этот модуль по умолчанию не собирается.
--with-http_xslt_module
--with-http_xslt_module=dynamic
включает сборку модуля ngx_http_xslt_module, который преобразует ответы XML с помощью одной или нескольких таблиц стилей XSLT. Этот модуль по умолчанию не собирается. Для сборки и работы модуля требуются библиотеки libxml2 и libxslt.
--with-http_image_filter_module
--with-http_image_filter_module=dynamic
включает сборку модуля ngx_http_image_filter_module, который преобразует изображения в форматах JPEG, GIF, PNG и WebP. Этот модуль по умолчанию не собирается.
--with-http_geoip_module
--with-http_geoip_module=dynamic
включает сборку модуля ngx_http_geoip_module, который создаёт переменные в зависимости от IP-адреса клиента и предварительно скомпилированных баз данных MaxMind. Этот модуль по умолчанию не собирается.
--with-http_sub_module
включает сборку модуля ngx_http_sub_module, который изменяет ответ, заменяя одну заданную строку другой. Этот модуль по умолчанию не собирается.
--with-http_dav_module
включает сборку модуля ngx_http_dav_module, обеспечивающего автоматизацию управления файлами по протоколу WebDAV. Этот модуль по умолчанию не собирается.
--with-http_flv_module
включает сборку модуля ngx_http_flv_module, обеспечивающего поддержку псевдопотоковой передачи файлов Flash Video (FLV) на стороне сервера. Этот модуль по умолчанию не собирается.
--with-http_mp4_module
включает сборку модуля ngx_http_mp4_module, обеспечивающего поддержку псевдопотоковой передачи файлов MP4 на стороне сервера. Этот модуль по умолчанию не собирается.
--with-http_gunzip_module
включает сборку модуля ngx_http_gunzip_module, который распаковывает ответы с заголовком «Content-Encoding: gzip» для клиентов, не поддерживающих метод кодирования «gzip». Этот модуль по умолчанию не собирается.
--with-http_gzip_static_module
включает сборку модуля ngx_http_gzip_static_module, который позволяет отправлять предварительно сжатые файлы с расширением «.gz» вместо обычных файлов. Этот модуль по умолчанию не собирается.
--with-http_auth_request_module
включает сборку модуля ngx_http_auth_request_module, который выполняет авторизацию клиента на основе результата подзапроса. Этот модуль по умолчанию не собирается.
--with-http_random_index_module
включает сборку модуля ngx_http_random_index_module, который обрабатывает запросы, заканчивающиеся символом косой черты («/»), и выбирает случайный файл в каталоге в качестве индексного файла. Этот модуль по умолчанию не собирается.
--with-http_secure_link_module
включает сборку модуля ngx_http_secure_link_module. Этот модуль по умолчанию не собирается.
--with-http_degradation_module
включает сборку модуля ngx_http_degradation_module. Этот модуль по умолчанию не собирается.
--with-http_slice_module
включает сборку модуля ngx_http_slice_module, который разбивает запрос на подзапросы, каждый из которых возвращает определённый диапазон ответа. Модуль обеспечивает более эффективное кэширование больших ответов. Этот модуль по умолчанию не собирается.
--with-http_stub_status_module
включает сборку модуля ngx_http_stub_status_module, обеспечивающего доступ к основной информации о состоянии. Этот модуль по умолчанию не собирается.
--without-http_charset_module
отключает сборку модуля ngx_http_charset_module, который добавляет заданную кодировку в поле заголовка ответа «Content-Type» и может также преобразовывать данные из одной кодировки в другую.
--without-http_gzip_module
отключает сборку модуля, который сжимает ответы HTTP-сервера. Для сборки и работы этого модуля требуется библиотека zlib.
--without-http_ssi_module
отключает сборку модуля ngx_http_ssi_module, который обрабатывает команды SSI (Server Side Includes) в проходящих через него ответах.
--without-http_userid_module
отключает сборку модуля ngx_http_userid_module, который устанавливает файлы cookie для идентификации клиентов.
--without-http_access_module
отключает сборку модуля ngx_http_access_module, позволяющего ограничивать доступ для определённых адресов клиентов.
--without-http_auth_basic_module
отключает сборку модуля ngx_http_auth_basic_module, позволяющего ограничивать доступ к ресурсам путём проверки имени пользователя и пароля с использованием протокола «HTTP Basic Authentication».
--without-http_mirror_module
отключает сборку модуля ngx_http_mirror_module, который зеркалирует исходный запрос, создавая фоновые подзапросы-зеркала.
--without-http_autoindex_module
отключает сборку модуля ngx_http_autoindex_module, который обрабатывает запросы, заканчивающиеся символом косой черты («/»), и формирует список файлов каталога, если модуль ngx_http_index_module не может найти индексный файл.
--without-http_geo_module
отключает сборку модуля ngx_http_geo_module, который создаёт переменные со значениями, зависящими от IP-адреса клиента.
--without-http_map_module
отключает сборку модуля ngx_http_map_module, который создаёт переменные со значениями, зависящими от значений других переменных.
--without-http_split_clients_module
отключает сборку модуля ngx_http_split_clients_module, который создаёт переменные для A/B-тестирования.
--without-http_referer_module
отключает сборку модуля ngx_http_referer_module, который может блокировать доступ к сайту для запросов с недопустимыми значениями в поле заголовка «Referer».
--without-http_rewrite_module
отключает сборку модуля, позволяющего HTTP-серверу перенаправлять запросы и изменять URI запросов. Для сборки и работы этого модуля требуется библиотека PCRE.
--without-http_proxy_module
отключает сборку модуля проксирования HTTP-сервера.
--without-http_fastcgi_module
отключает сборку модуля ngx_http_fastcgi_module, который передаёт запросы серверу FastCGI.
--without-http_uwsgi_module
отключает сборку модуля ngx_http_uwsgi_module, который передаёт запросы серверу uwsgi.
--without-http_scgi_module
отключает сборку модуля ngx_http_scgi_module, который передаёт запросы серверу SCGI.
--without-http_grpc_module
отключает сборку модуля ngx_http_grpc_module, который передаёт запросы серверу gRPC.
--without-http_memcached_module
отключает сборку модуля ngx_http_memcached_module, который получает ответы от сервера memcached.
--without-http_limit_conn_module
отключает сборку модуля ngx_http_limit_conn_module, который ограничивает число соединений для каждого ключа, например число соединений с одного IP-адреса.
--without-http_limit_req_module
отключает сборку модуля ngx_http_limit_req_module, который ограничивает скорость обработки запросов для каждого ключа, например скорость обработки запросов, поступающих с одного IP-адреса.
--without-http_empty_gif_module
отключает сборку модуля, который выдаёт прозрачное GIF-изображение размером в один пиксель.
--without-http_browser_module
отключает сборку модуля ngx_http_browser_module, который создаёт переменные, значения которых зависят от значения поля заголовка запроса «User-Agent».
--without-http_upstream_hash_module
отключает сборку модуля, реализующего метод балансировки нагрузки hash.
--without-http_upstream_ip_hash_module
отключает сборку модуля, реализующего метод балансировки нагрузки ip_hash.
--without-http_upstream_least_conn_module
отключает сборку модуля, реализующего метод балансировки нагрузки least_conn.
--without-http_upstream_least_time_module
отключает сборку модуля, реализующего метод балансировки нагрузки least_time.
--without-http_upstream_random_module
отключает сборку модуля, реализующего метод балансировки нагрузки random.
--without-http_upstream_keepalive_module
отключает сборку модуля, обеспечивающего кэширование соединений с upstream-серверами.
--without-http_upstream_zone_module
отключает сборку модуля, позволяющего хранить состояние группы upstream во время выполнения в общей области разделяемой памяти zone.
--without-http_upstream_sticky_module
отключает сборку модуля, обеспечивающего привязку сеансов к upstream-серверам.
--with-http_perl_module
--with-http_perl_module=dynamic
включает сборку встроенного модуля Perl. Этот модуль по умолчанию не собирается.
--with-perl_modules_path=path
задаёт каталог для хранения модулей Perl.
--with-perl=path
задаёт имя исполняемого файла Perl.
--http-log-path=path
задаёт имя основного файла журнала запросов HTTP-сервера. После установки имя файла всегда можно изменить в файле конфигурации nginx.conf с помощью директивы access_log. По умолчанию файл называется prefix/logs/access.log.
--http-client-body-temp-path=path
задаёт каталог для хранения временных файлов с телами запросов клиентов. После установки каталог всегда можно изменить в файле конфигурации nginx.conf с помощью директивы client_body_temp_path. По умолчанию каталог называется prefix/client_body_temp.
--http-proxy-temp-path=path
задаёт каталог для хранения временных файлов с данными, полученными от проксируемых серверов. После установки каталог всегда можно изменить в файле конфигурации nginx.conf с помощью директивы proxy_temp_path. По умолчанию каталог называется prefix/proxy_temp.
--http-fastcgi-temp-path=path
задаёт каталог для хранения временных файлов с данными, полученными от серверов FastCGI. После установки каталог всегда можно изменить в файле конфигурации nginx.conf с помощью директивы fastcgi_temp_path. По умолчанию каталог называется prefix/fastcgi_temp.
--http-uwsgi-temp-path=path
задаёт каталог для хранения временных файлов с данными, полученными от серверов uwsgi. После установки каталог всегда можно изменить в файле конфигурации nginx.conf с помощью директивы uwsgi_temp_path. По умолчанию каталог называется prefix/uwsgi_temp.
--http-scgi-temp-path=path
задаёт каталог для хранения временных файлов с данными, полученными от серверов SCGI. После установки каталог всегда можно изменить в файле конфигурации nginx.conf с помощью директивы scgi_temp_path. По умолчанию каталог называется prefix/scgi_temp.
--without-http
отключает HTTP-сервер.
--without-http-cache
отключает кэш HTTP.
--with-mail
--with-mail=dynamic
включает почтовый прокси-сервер POP3/IMAP4/SMTP.
--with-mail_ssl_module
включает сборку модуля, добавляющего поддержку протоколов SSL/TLS почтовому прокси-серверу. Этот модуль по умолчанию не собирается. Для сборки и работы модуля требуется библиотека OpenSSL.
--without-mail_pop3_module
отключает протокол POP3 в почтовом прокси-сервере.
--without-mail_imap_module
отключает протокол IMAP в почтовом прокси-сервере.
--without-mail_smtp_module
отключает протокол SMTP в почтовом прокси-сервере.
--with-stream
--with-stream=dynamic
включает сборку модуля stream для универсального проксирования TCP/UDP и балансировки нагрузки. Этот модуль по умолчанию не собирается.
--with-stream_ssl_module
включает сборку модуля, добавляющего поддержку протоколов SSL/TLS модулю stream. Этот модуль по умолчанию не собирается. Для сборки и работы модуля требуется библиотека OpenSSL.
--with-stream_realip_module
включает сборку модуля ngx_stream_realip_module, который заменяет адрес клиента адресом, переданным в заголовке протокола PROXY. Этот модуль по умолчанию не собирается.
--with-stream_geoip_module
--with-stream_geoip_module=dynamic
включает сборку модуля ngx_stream_geoip_module, который создаёт переменные в зависимости от IP-адреса клиента и предварительно скомпилированных баз данных MaxMind. Этот модуль по умолчанию не собирается.
--with-stream_ssl_preread_module
включает сборку модуля ngx_stream_ssl_preread_module, позволяющего извлекать информацию из сообщения ClientHello без завершения SSL/TLS-соединения. Этот модуль по умолчанию не собирается.
--without-stream_limit_conn_module
отключает сборку модуля ngx_stream_limit_conn_module, который ограничивает число соединений для каждого ключа, например число соединений с одного IP-адреса.
--without-stream_access_module
отключает сборку модуля ngx_stream_access_module, позволяющего ограничивать доступ для определённых адресов клиентов.
--without-stream_geo_module
отключает сборку модуля ngx_stream_geo_module, который создаёт переменные со значениями, зависящими от IP-адреса клиента.
--without-stream_map_module
отключает сборку модуля ngx_stream_map_module, который создаёт переменные со значениями, зависящими от значений других переменных.
--without-stream_split_clients_module
отключает сборку модуля ngx_stream_split_clients_module, который создаёт переменные для A/B-тестирования.
--without-stream_return_module
отключает сборку модуля ngx_stream_return_module, который отправляет клиенту заданное значение, а затем закрывает соединение.
--without-stream_pass_module
отключает сборку модуля ngx_stream_pass_module, который передаёт принятые соединения другим слушающим сокетам.
--without-stream_set_module
отключает сборку модуля ngx_stream_set_module, который задаёт значение переменной.
--without-stream_upstream_hash_module
отключает сборку модуля, реализующего метод балансировки нагрузки hash.
--without-stream_upstream_least_conn_module
отключает сборку модуля, реализующего метод балансировки нагрузки least_conn.
--without-stream_upstream_least_time_module
отключает сборку модуля, реализующего метод балансировки нагрузки least_time.
--without-stream_upstream_random_module
отключает сборку модуля, реализующего метод балансировки нагрузки random.
--without-stream_upstream_zone_module
отключает сборку модуля, позволяющего хранить состояние группы upstream во время выполнения в общей области разделяемой памяти zone.
--with-google_perftools_module
включает сборку модуля ngx_google_perftools_module, позволяющего профилировать рабочие процессы nginx с помощью Google Performance Tools. Модуль предназначен для разработчиков nginx и по умолчанию не собирается.
--with-cpp_test_module
включает сборку модуля ngx_cpp_test_module.
--add-module=path
включает внешний модуль.
--add-dynamic-module=path
включает внешний динамический модуль.
--with-compat
включает совместимость динамических модулей.
--with-cc=path
задаёт имя компилятора C.
--with-cpp=path
задаёт имя препроцессора C.
--with-cc-opt=parameters
задаёт дополнительные параметры, которые будут добавлены к переменной CFLAGS. При использовании системной библиотеки PCRE во FreeBSD следует указать --with-cc-opt="-I /usr/local/include". Здесь также можно указать параметры для увеличения числа файлов, поддерживаемых select(), например: --with-cc-opt="-D FD_SETSIZE=2048".
--with-ld-opt=parameters
задаёт дополнительные параметры, которые будут использоваться при компоновке. При использовании системной библиотеки PCRE во FreeBSD следует указать --with-ld-opt="-L /usr/local/lib".
--with-cpu-opt=cpu
включает сборку с оптимизацией для указанного процессора: pentium, pentiumpro, pentium3, pentium4, athlon, opteron, sparc32, sparc64, ppc64.
--without-pcre
отключает использование библиотеки PCRE.
--with-pcre
принудительно включает использование библиотеки PCRE.
--with-pcre=path
задаёт путь к исходному коду библиотеки PCRE. Дистрибутив библиотеки необходимо загрузить с сайта PCRE и распаковать. Остальное сделают ./configure и make nginx. Библиотека необходима для поддержки регулярных выражений в директиве location и для модуля ngx_http_rewrite_module.
--with-pcre-opt=parameters
задаёт дополнительные параметры сборки PCRE.
--with-pcre-jit
собирает библиотеку PCRE с поддержкой «компиляции точно в срок» (1.1.12, директива pcre_jit).
--without-pcre2
отключает использование библиотеки PCRE2 вместо исходной библиотеки PCRE (1.21.5).
--with-zlib=path
задаёт путь к исходному коду библиотеки zlib. Дистрибутив библиотеки необходимо загрузить с сайта zlib и распаковать. Остальное сделают ./configure и make nginx. Библиотека необходима для модуля ngx_http_gzip_module.
--with-zlib-opt=parameters
задаёт дополнительные параметры сборки zlib.
--with-zlib-asm=cpu
включает использование ассемблерного исходного кода zlib, оптимизированного для одного из указанных процессоров: pentium, pentiumpro.
--with-libatomic
принудительно включает использование библиотеки libatomic_ops.
--with-libatomic=path
задаёт путь к исходному коду библиотеки libatomic_ops.
--with-openssl=path
задаёт путь к исходному коду библиотеки OpenSSL.
--with-openssl-opt=parameters
задаёт дополнительные параметры сборки OpenSSL.
--with-debug
включает журнал отладки.

Пример использования параметров (всё это необходимо ввести в одну строку):

./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=../pcre2-10.39
    --with-zlib=../zlib-1.3

После настройки nginx компилируется и устанавливается с помощью make.

© 2002-2021 Igor Sysoev
© 2011-2026 Nginx, Inc.
Licensed under the BSD License.
https://nginx.org/en/docs/configure.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API