view xml/ru/docs/configure.xml @ 2154:ebc9fb8139e4

Reworked configure description to use tag list.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 23 Apr 2018 21:41:03 +0300
parents 7d9c836d14bf
children fd06f014e6db
line wrap: on
line source

<!--
  Copyright (C) Igor Sysoev
  Copyright (C) Nginx, Inc.
  -->

<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">

<article name="Сборка nginx из исходных файлов"
         link="/ru/docs/configure.html"
         lang="ru"
         rev="12">

<section>

<para>
Сборка настраивается командой <command>configure</command>.
Она определяет особенности системы и, в частности, методы, которые nginx
может использовать для обработки соединений.
В конце концов она создаёт <path>Makefile</path>.
Команда <command>configure</command> поддерживает следующие параметры:
<list type="tag">

<tag-name>
<literal>--prefix=<value>путь</value></literal>
</tag-name>
<tag-desc>
задаёт каталог, в котором будут находиться файлы сервера.
Этот же каталог будет использоваться для всех относительных путей,
задаваемых <command>configure</command> (кроме путей к исходным текстам
библиотек) и в конфигурационном файле <path>nginx.conf</path>.
По умолчанию&mdash;каталог <path>/usr/local/nginx</path>.
</tag-desc>

<tag-name>
<literal>--sbin-path=<value>путь</value></literal>
</tag-name>
<tag-desc>
задаёт имя исполняемого файла nginx.
Это имя используется только на стадии установки.
По умолчанию файл называется
<path><value>префикс</value>/sbin/nginx</path>.
</tag-desc>

<tag-name>
<literal>--conf-path=<value>путь</value></literal>
</tag-name>
<tag-desc>
задаёт имя конфигурационного файла <path>nginx.conf</path>.
При желании nginx можно всегда запустить с другим конфигурационным файлом,
указав его в параметре командной строки
<nobr><literal>-c <value>файл</value></literal></nobr>.
По умолчанию файл называется
<path><value>префикс</value>/conf/nginx.conf</path>.
</tag-desc>

<tag-name>
<literal>--pid-path=<value>путь</value></literal>
</tag-name>
<tag-desc>
задаёт имя файла nginx.pid, в котором будет храниться номер главного процесса.
После установки имя файла можно всегда поменять в конфигурационном
файле <path>nginx.conf</path> с помощью директивы
<link doc="ngx_core_module.xml" id="pid"/>.
По умолчанию имя
файла&mdash;<path><value>префикс</value>/logs/nginx.pid</path>.
</tag-desc>

<tag-name>
<literal>--error-log-path=<value>путь</value></literal>
</tag-name>
<tag-desc>
задаёт имя основного файла ошибок, предупреждений и диагностики.
После установки имя файла можно всегда поменять в конфигурационном
файле <path>nginx.conf</path> с помощью директивы
<link doc="ngx_core_module.xml" id="error_log"/>.
По умолчанию имя
файла&mdash;<path><value>префикс</value>/logs/error.log</path>.
</tag-desc>

<tag-name>
<literal>--http-log-path=<value>путь</value></literal>
</tag-name>
<tag-desc>
задаёт имя основного файла регистрации запросов HTTP-сервера.
После установки имя файла можно всегда поменять в конфигурационном
файле <path>nginx.conf</path> с помощью директивы
<link doc="http/ngx_http_log_module.xml" id="access_log"/>.
По умолчанию имя
файла&mdash;<path><value>префикс</value>/logs/access.log</path>.
</tag-desc>

<tag-name id="build">
<literal>--build=<value>имя</value></literal>
</tag-name>
<tag-desc>
задаёт необязательное имя сборки nginx.
</tag-desc>

<tag-name>
<literal>--user=<value>имя</value></literal>
</tag-name>
<tag-desc>
задаёт имя непривилегированного пользователя, с правами которого будут
выполняться рабочие процессы.
После установки это имя можно всегда поменять в конфигурационном
файле <path>nginx.conf</path> с помощью директивы
<link doc="ngx_core_module.xml" id="user"/>.
По умолчанию имя пользователя nobody.
</tag-desc>

<tag-name>
<literal>--group=<value>имя</value></literal>
</tag-name>
<tag-desc>
задаёт имя группы, с правами которой будут выполняться рабочие процессы.
После установки это имя можно всегда поменять в конфигурационном
файле <path>nginx.conf</path> с помощью директивы
<link doc="ngx_core_module.xml" id="user"/>.
По умолчанию группа совпадает с именем непривилегированного пользователя.
</tag-desc>

<tag-name>
<literal>--with-select_module</literal><br/>
<literal>--without-select_module</literal>
</tag-name>
<tag-desc>
разрешает или запрещает сборку модуля для работы сервера
с помощью метода <c-func>select</c-func>.
Этот модуль собирается автоматически, если на платформе не обнаружено
более подходящего метода&mdash;kqueue, epoll или /dev/poll.
</tag-desc>

<tag-name>
<literal>--with-poll_module</literal><br/>
<literal>--without-poll_module</literal>
</tag-name>
<tag-desc>
разрешает или запрещает сборку модуля для работы сервера
с помощью метода <c-func>poll</c-func>.
Этот модуль собирается автоматически, если на платформе не обнаружено
более подходящего метода&mdash;kqueue, epoll или /dev/poll.
</tag-desc>

<tag-name>
<literal>--without-http_gzip_module</literal>
</tag-name>
<tag-desc>
запрещает сборку модуля
<link doc="http/ngx_http_gzip_module.xml">сжатия ответов</link> HTTP-сервера.
Для сборки и работы этого модуля нужна библиотека zlib.
</tag-desc>

<tag-name>
<literal>--without-http_rewrite_module</literal>
</tag-name>
<tag-desc>
запрещает сборку модуля HTTP-сервера, позволяющего
<link doc="http/ngx_http_rewrite_module.xml">делать
перенаправления и менять URI запросов</link>.
Для сборки и работы этого модуля нужна библиотека PCRE.
</tag-desc>

<tag-name>
<literal>--without-http_proxy_module</literal>
</tag-name>
<tag-desc>
запрещает сборку
<link doc="http/ngx_http_proxy_module.xml">проксирующего модуля</link>
HTTP-сервера.
<!--
Для сборки и работы этого модуля нужна библиотека md5.
-->
</tag-desc>

<tag-name>
<literal>--with-http_ssl_module</literal>
</tag-name>
<tag-desc>
разрешает сборку модуля для работы HTTP-сервера по
<link doc="http/ngx_http_ssl_module.xml">протоколу HTTPS</link>.
По умолчанию модуль не собирается.
Для сборки и работы этого модуля нужна библиотека OpenSSL.
</tag-desc>

<tag-name>
<literal>--with-pcre=<value>путь</value></literal>
</tag-name>
<tag-desc>
задаёт путь к исходным текстам библиотеки PCRE.
Дистрибутив библиотеки (версию
4.4&mdash;8.41) нужно взять на сайте <link url="http://www.pcre.org">PCRE</link>
и распаковать.
Всё остальное сделают <command>./configure</command> nginx’а и
<command>make</command>.
Библиотека нужна для использования регулярных выражений в директиве
<link doc="http/ngx_http_core_module.xml" id="location"/>
и для модуля
<link doc="http/ngx_http_rewrite_module.xml">ngx_http_rewrite_module</link>.
</tag-desc>

<tag-name>
<literal>--with-pcre-jit</literal>
</tag-name>
<tag-desc>
собирает библиотеку PCRE с
поддержкой JIT-компиляции (1.1.12, директива
<link doc="ngx_core_module.xml" id="pcre_jit"/>).
</tag-desc>

<tag-name>
<literal>--with-zlib=<value>путь</value></literal>
</tag-name>
<tag-desc>
задаёт путь к исходным текстам библиотеки zlib.
Дистрибутив библиотеки (версию
1.1.3&mdash;1.2.11) нужно взять на сайте
<link url="http://zlib.net">zlib</link> и распаковать.
Всё остальное сделают <command>./configure</command> nginx’а и
<command>make</command>.
Библиотека нужна для модуля
<link doc="http/ngx_http_gzip_module.xml">ngx_http_gzip_module</link>.
</tag-desc>

<tag-name>
<literal>--with-cc-opt=<value>параметры</value></literal>
</tag-name>
<tag-desc>
задаёт дополнительные параметры, которые будут добавлены к переменной CFLAGS.
При использовании системной библиотеки PCRE во FreeBSD, нужно указать
<literal>--with-cc-opt="-I /usr/local/include"</literal>.
Если нужно увеличить число файлов, с которыми может работать
<c-func>select</c-func>, то это тоже можно задать здесь же:
<literal>--with-cc-opt="-D FD_SETSIZE=2048"</literal>.
</tag-desc>

<tag-name>
<literal>--with-ld-opt=<value>параметры</value></literal>
</tag-name>
<tag-desc>
задаёт дополнительные параметры, которые будут использованы при линковке.
При использовании системной библиотеки PCRE во FreeBSD, нужно указать
<literal>--with-ld-opt="-L /usr/local/lib"</literal>.
</tag-desc>

</list>

</para>

<para>
Пример использования параметров (всё это нужно набрать в одной строке):
<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.41
    --with-zlib=../zlib-1.2.11
</programlisting>
</para>

<para>
После конфигурации
nginx компилируется и устанавливается с помощью <command>make</command>.
</para>

</section>

</article>