Сборка 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, 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 — 8.32) нужно взять на сайте 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.7) нужно взять на сайте 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-4.4
    --with-zlib=../zlib-1.1.3

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

    Поддержать сайт на родительском проекте КГБ