Конфигурация сборки осуществляется командой configure. Она определяет особенности системы и, в частности, методы, которые nginx может использовать для обработки соединений. В конце концов она создаёт Makefile. configure поддерживает следующие параметры:
--prefix=<путь> — задаёт каталог, в котором будут находиться файлы сервера. Этот же каталог будет использоваться для всех относительных путей, задаваемых ./configure (кроме путей к исходным текстам библиотек) и в конфигурационном файле nginx.conf. По умолчанию — каталог /usr/local/nginx.
--sbin-path=<путь> — задаёт имя исполняемого файла nginx. Это имя используется только на стадии установки. По умолчанию файл называется <prefix>/sbin/nginx.
--conf-path=<путь> — задаёт имя конфигурационного файла nginx.conf. При желании nginx можно всегда запустить с другим конфигурационным файлом, указав его в параметре командной строки -c <файл>. По умолчанию файл называется <prefix>/conf/nginx.conf.
--pid-path=<путь> — задаёт имя файла nginx.pid, в котором будет хранится номер главного процесса. После установки имя файла можно всегда поменять в конфигурационном файле nginx.conf с помощью директивы pid. По умолчанию имя файла — <prefix>/logs/nginx.pid.
--error-log-path=<путь> — задаёт имя основного файла ошибок, предупреждений и диагностики. После установки имя файла можно всегда поменять в конфигурационном файле nginx.conf с помощью директивы error_log. По умолчанию имя файла — <prefix>/logs/error.log.
--http-log-path=<путь> — задаёт имя основного файла регистрации запросов http сервера. После установки имя файла можно всегда поменять в конфигурационном файле nginx.conf с помощью директивы access_log. По умолчанию имя файла — <prefix>/logs/access.log.
--user=<имя> — задаёт имя непривилегированного пользователя, с правами которого будут выполняться рабочие процессы. После установки это имя можно всегда поменять в конфигурационном файле nginx.conf с помощью директивы user. По умолчанию имя пользователя nobody.
--group=<группа> — задаёт группу, с правами которой будут выполняться рабочие процессы. После установки это имя можно всегда поменять в конфигурационном файле nginx.conf с помощью директивы user. По умолчанию группа совпадает с именем непривилегированного пользователя.
- --with-select_module
- --without-select_module — разрешает или запрещает сборку модуля для работы сервера с помощью метода select. Этот модуль собирается автоматически, если на платформе не обнаружено более подходящего метода — kqueue, epoll, rtsig или /dev/poll.
- --with-poll_module
- --without-poll_module — разрешает или запрещает сборку модуля для работы сервера с помощью метода poll. Этот модуль собирается автоматически, если на платформе не обнаружено более подходящего метода — kqueue, epoll, rtsig или /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 — 6.1) нужно взять на сайте PCRE и распаковать. Всё остальное сделают nginx'овские ./configure и make. Библиотека нужна для использования регулярных выражений в location и для модуля ngx_http_rewrite_module.
--with-zlib=<путь> — задаёт путь к исходным текстам библиотеки zlib. Дистрибутив библиотеки (версию 1.1.3 — 1.2.2) нужно взять на сайте zlib и распаковать. Всё остальное сделают nginx'овские ./configure и 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-4.4
--with-zlib=../zlib-1.1.3
