Сборка nginx из исходных файлов
Сборка настраивается командой configure
.
Она определяет особенности системы и, в частности, методы, которые nginx
может использовать для обработки соединений.
В конце концов она создаёт Makefile
.
Команда configure
поддерживает следующие параметры:
-
--prefix=
— задаёт каталог, в котором будут находиться файлы сервера. Этот же каталог будет использоваться для всех относительных путей, задаваемыхпуть
configure
(кроме путей к исходным текстам библиотек) и в конфигурационном файлеnginx.conf
. По умолчанию — каталог/usr/local/nginx
. -
--sbin-path=
— задаёт имя исполняемого файла nginx. Это имя используется только на стадии установки. По умолчанию файл называетсяпуть
.префикс
/sbin/nginx -
--conf-path=
— задаёт имя конфигурационного файлапуть
nginx.conf
. При желании nginx можно всегда запустить с другим конфигурационным файлом, указав его в параметре командной строки . По умолчанию файл называется-c
файл
.префикс
/conf/nginx.conf -
--pid-path=
— задаёт имя файла nginx.pid, в котором будет храниться номер главного процесса. После установки имя файла можно всегда поменять в конфигурационном файлепуть
nginx.conf
с помощью директивы pid. По умолчанию имя файла —
.префикс
/logs/nginx.pid -
--error-log-path=
— задаёт имя основного файла ошибок, предупреждений и диагностики. После установки имя файла можно всегда поменять в конфигурационном файлепуть
nginx.conf
с помощью директивы error_log. По умолчанию имя файла —
.префикс
/logs/error.log -
--http-log-path=
— задаёт имя основного файла регистрации запросов HTTP-сервера. После установки имя файла можно всегда поменять в конфигурационном файлепуть
nginx.conf
с помощью директивы access_log. По умолчанию имя файла —
.префикс
/logs/access.log -
--user=
— задаёт имя непривилегированного пользователя, с правами которого будут выполняться рабочие процессы. После установки это имя можно всегда поменять в конфигурационном файлеимя
nginx.conf
с помощью директивы user. По умолчанию имя пользователя nobody. -
--group=
— задаёт имя группы, с правами которой будут выполняться рабочие процессы. После установки это имя можно всегда поменять в конфигурационном файлеимя
nginx.conf
с помощью директивы user. По умолчанию группа совпадает с именем непривилегированного пользователя. -
--with-select_module
--without-select_module
— разрешает или запрещает сборку модуля для работы сервера с помощью методаselect()
. Этот модуль собирается автоматически, если на платформе не обнаружено более подходящего метода — kqueue, epoll или /dev/poll. -
--with-poll_module
--without-poll_module
— разрешает или запрещает сборку модуля для работы сервера с помощью методаpoll()
. Этот модуль собирается автоматически, если на платформе не обнаружено более подходящего метода — kqueue, epoll или /dev/poll. -
--without-http_gzip_module
— запрещает сборку модуля сжатия ответов HTTP-сервера. Для сборки и работы этого модуля нужна библиотека zlib. -
--without-http_rewrite_module
— запрещает сборку модуля HTTP-сервера, позволяющего делать перенаправления и менять URI запросов. Для сборки и работы этого модуля нужна библиотека PCRE. -
--without-http_proxy_module
— запрещает сборку проксирующего модуля HTTP-сервера. -
--with-http_ssl_module
— разрешает сборку модуля для работы HTTP-сервера по протоколу HTTPS. По умолчанию модуль не собирается. Для сборки и работы этого модуля нужна библиотека OpenSSL. -
--with-pcre=
— задаёт путь к исходным текстам библиотеки PCRE. Дистрибутив библиотеки (версию 4.4 — 8.38) нужно взять на сайте PCRE и распаковать. Всё остальное сделаютпуть
./configure
nginx’а иmake
. Библиотека нужна для использования регулярных выражений в директиве location и для модуля ngx_http_rewrite_module. -
--with-pcre-jit
— собирает библиотеку PCRE с поддержкой JIT-компиляции (1.1.12, директива pcre_jit). -
--with-zlib=
— задаёт путь к исходным текстам библиотеки zlib. Дистрибутив библиотеки (версию 1.1.3 — 1.2.8) нужно взять на сайте zlib и распаковать. Всё остальное сделаютпуть
./configure
nginx’а иmake
. Библиотека нужна для модуля ngx_http_gzip_module. -
--with-cc-opt=
— задаёт дополнительные параметры, которые будут добавлены к переменной CFLAGS. При использовании системной библиотеки PCRE во FreeBSD, нужно указатьпараметры
--with-cc-opt="-I /usr/local/include"
. Если нужно увеличить число файлов, с которыми может работатьselect()
, то это тоже можно задать здесь же:--with-cc-opt="-D FD_SETSIZE=2048"
. -
--with-ld-opt=
— задаёт дополнительные параметры, которые будут использованы при линковке. При использовании системной библиотеки PCRE во FreeBSD, нужно указатьпараметры
--with-ld-opt="-L /usr/local/lib"
.
Пример использования параметров (всё это нужно набрать в одной строке):
./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.38 --with-zlib=../zlib-1.2.8
После конфигурации
nginx компилируется и устанавливается с помощью make
.