Mercurial > hg > nginx-site
changeset 924:a2aea48ff155
New "installation" article.
Old "installation" was renamed to "configure" and describes how
to build nginx from sources.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Fri, 31 May 2013 13:05:51 +0400 |
parents | 4f1e2120be5e |
children | d817d94a7b9a |
files | xml/en/GNUmakefile xml/en/docs/configure.xml xml/en/docs/index.xml xml/en/docs/install.xml xml/en/docs/mail/ngx_mail_core_module.xml xml/ru/GNUmakefile xml/ru/docs/configure.xml xml/ru/docs/index.xml xml/ru/docs/install.xml xml/ru/docs/mail/ngx_mail_core_module.xml |
diffstat | 10 files changed, 104 insertions(+), 464 deletions(-) [+] |
line wrap: on
line diff
--- a/xml/en/GNUmakefile +++ b/xml/en/GNUmakefile @@ -18,6 +18,7 @@ DOCS = \ howto_setup_development_environment_on_ec2 \ nginx_dtrace_pid_provider \ contributing_changes \ + configure \ FAQ = \ welcome_nginx_facebook \
copy from xml/en/docs/install.xml copy to xml/en/docs/configure.xml --- a/xml/en/docs/install.xml +++ b/xml/en/docs/configure.xml @@ -5,10 +5,10 @@ <!DOCTYPE article SYSTEM "../../../dtd/article.dtd"> -<article name="Installing nginx" - link="/en/docs/install.html" +<article name="Building nginx from Sources" + link="/en/docs/configure.html" lang="en" - rev="3"> + rev="4"> <section> @@ -182,7 +182,8 @@ the path to the sources of the PCRE libr The library distribution (version 4.4—8.32) needs to be downloaded from the <link url="http://www.pcre.org">PCRE</link> site and extracted. -The rest is done by nginx’s ./configure and make. +The rest is done by nginx’s <command>./configure</command> and +<command>make</command>. The library is required for regular expressions support in the <link doc="http/ngx_http_core_module.xml" id="location"/> directive and for the @@ -206,7 +207,8 @@ the path to the sources of the zlib libr The library distribution (version 1.1.3—1.2.7) needs to be downloaded from the <link url="http://zlib.net">zlib</link> site and extracted. -The rest is done by nginx’s ./configure and make. +The rest is done by nginx’s <command>./configure</command> and +<command>make</command>. The library is required for the <link doc="http/ngx_http_gzip_module.xml">ngx_http_gzip_module</link> module. </para> @@ -252,6 +254,11 @@ Example of parameters usage (all of this </programlisting> </para> +<para> +After configuration, +nginx is compiled and installed using <command>make</command>. +</para> + </section> </article>
--- a/xml/en/docs/index.xml +++ b/xml/en/docs/index.xml @@ -8,7 +8,7 @@ <article name="nginx documentation" link="/en/docs/" lang="en" - rev="6" + rev="7" toc="no"> @@ -73,6 +73,10 @@ <list type="bullet"> <listitem> +<link doc="configure.xml"/> +</listitem> + +<listitem> <link doc="howto_build_on_win32.xml"/> </listitem>
--- a/xml/en/docs/install.xml +++ b/xml/en/docs/install.xml @@ -8,248 +8,51 @@ <article name="Installing nginx" link="/en/docs/install.html" lang="en" - rev="3"> + rev="1" + toc="no"> <section> <para> -The build is configured using the <command>configure</command> command. -It defines various aspects of the system, including the methods nginx -is allowed to use for connection processing. -At the end it creates a <path>Makefile</path>. -The <command>configure</command> command supports the following parameters: -<list type="bullet"> - -<listitem> -<para> -<literal>--prefix=<value>path</value></literal>—defines -a directory that will keep server files. -This same directory will also be used for all relative paths set by -<command>configure</command> (except for paths to libraries sources) -and in the <path>nginx.conf</path> configuration file. -It is set to the <path>/usr/local/nginx</path> directory by default. -</para> -</listitem> - -<listitem> -<para> -<literal>--sbin-path=<value>path</value></literal>—sets -the name of an nginx executable file. -This name is used only during installation. -By default the file is named -<path><value>prefix</value>/sbin/nginx</path>. +nginx can be installed differently, depending on the operating system. </para> -</listitem> - -<listitem> -<para> -<literal>--conf-path=<value>path</value></literal>—sets -the name of an <path>nginx.conf</path> configuration file. -If needs be, nginx can always be started with a different configuration file, -by specifying it in the command-line parameter -<nobr><literal>-c <value>file</value></literal></nobr>. -By default the file is named -<path><value>prefix</value>/conf/nginx.conf</path>. -</para> -</listitem> - -<listitem> -<para> -<literal>--pid-path=<value>path</value></literal>—sets -the name of an nginx.pid file that will store the process ID -of the main process. -After installation, the file name can always be changed in the -<path>nginx.conf</path> configuration file using the -<link doc="ngx_core_module.xml" id="pid"/> directive. -By default the file is named -<path><value>prefix</value>/logs/nginx.pid</path>. -</para> -</listitem> -<listitem> -<para> -<literal>--error-log-path=<value>path</value></literal>—sets -the name of the primary error, warnings, and diagnostic file. -After installation, the file name can always be changed in the -<path>nginx.conf</path> configuration file using the -<link doc="ngx_core_module.xml" id="error_log"/> directive. -By default the file is named -<path><value>prefix</value>/logs/error.log</path>. -</para> -</listitem> - -<listitem> -<para> -<literal>--http-log-path=<value>path</value></literal>—sets -the name of the primary request log file of the HTTP server. -After installation, the file name can always be changed in the -<path>nginx.conf</path> configuration file using the -<link doc="http/ngx_http_log_module.xml" id="access_log"/> directive. -By default the file is named -<path><value>prefix</value>/logs/access.log</path>. -</para> -</listitem> +</section> -<listitem> -<para> -<literal>--user=<value>name</value></literal>—sets -the name of an unprivileged user whose credentials will be used -by worker processes. -After installation, the name can always be changed in the -<path>nginx.conf</path> configuration file using the -<link doc="ngx_core_module.xml" id="user"/> directive. -The default user name is nobody. -</para> -</listitem> - -<listitem> -<para> -<literal>--group=<value>name</value></literal>—sets -the name of a group whose credentials will be used -by worker processes. -After installation, the name can always be changed in the -<path>nginx.conf</path> configuration file using the -<link doc="ngx_core_module.xml" id="user"/> directive. -By default, a group name is set to the name of an unprivileged user. -</para> -</listitem> - -<listitem> -<para> -<literal>--with-select_module</literal><br/> -<literal>--without-select_module</literal>—enables or disables -building a module that allows the server to work with the -<c-func>select</c-func> method. -This module is built automatically if the platform does not appear -to support more appropriate methods such as kqueue, epoll, rtsig, or /dev/poll. -</para> -</listitem> -<listitem> -<para> -<literal>--with-poll_module</literal><br/> -<literal>--without-poll_module</literal>—enables or disables -building a module that allows the server to work with the -<c-func>poll</c-func> method. -This module is built automatically if the platform does not appear -to support more appropriate methods such as kqueue, epoll, rtsig, or /dev/poll. -</para> -</listitem> - -<listitem> -<para> -<literal>--without-http_gzip_module</literal>—disables building a module -that <link doc="http/ngx_http_gzip_module.xml">compresses responses</link> -of an HTTP server. -The zlib library is required to build and run this module. -</para> -</listitem> +<section id="linux" name="Installation on Linux"> -<listitem> -<para> -<literal>--without-http_rewrite_module</literal>—disables building a -module that allows an HTTP server to -<link doc="http/ngx_http_rewrite_module.xml">redirect requests and change URI -of requests</link>. -The PCRE library is required to build and run this module. -</para> -</listitem> - -<listitem> -<para> -<literal>--without-http_proxy_module</literal>—disables building an -HTTP server <link doc="http/ngx_http_proxy_module.xml">proxying module</link>. -<!-- -The MD5 library is required to build and run this module. ---> -</para> -</listitem> - -<listitem> -<para> -<literal>--with-http_ssl_module</literal>—enables building a module -that adds the <link doc="http/ngx_http_ssl_module.xml">HTTPS protocol -support</link> to an HTTP server. -This module is not built by default. -The OpenSSL library is required to build and run this module. -</para> -</listitem> - -<listitem> <para> -<literal>--with-pcre=<value>path</value></literal>—sets -the path to the sources of the PCRE library. -The library distribution (version -4.4—8.32) needs to be downloaded from the -<link url="http://www.pcre.org">PCRE</link> site and extracted. -The rest is done by nginx’s ./configure and make. -The library is required for regular expressions support in the -<link doc="http/ngx_http_core_module.xml" id="location"/> directive -and for the -<link doc="http/ngx_http_rewrite_module.xml">ngx_http_rewrite_module</link> -module. -</para> -</listitem> - -<listitem> -<para> -<literal>--with-pcre-jit</literal>—builds the PCRE library with -“just-in-time compilation” support (1.1.12, the -<link doc="ngx_core_module.xml" id="pcre_jit"/> directive). -</para> -</listitem> - -<listitem> -<para> -<literal>--with-zlib=<value>path</value></literal>—sets -the path to the sources of the zlib library. -The library distribution (version -1.1.3—1.2.7) needs to be downloaded from the -<link url="http://zlib.net">zlib</link> site and extracted. -The rest is done by nginx’s ./configure and make. -The library is required for the -<link doc="http/ngx_http_gzip_module.xml">ngx_http_gzip_module</link> module. -</para> -</listitem> - -<listitem> -<para> -<literal>--with-cc-opt=<value>parameters</value></literal>—sets -additional parameters that will be added to the CFLAGS variable. -When using the system PCRE library under FreeBSD, -<literal>--with-cc-opt="-I /usr/local/include"</literal> -should be specified. -If the number of files supported by <c-func>select</c-func> needs to be -increased it can also be specified here such as this: -<literal>--with-cc-opt="-D FD_SETSIZE=2048"</literal>. -</para> -</listitem> - -<listitem> -<para> -<literal>--with-ld-opt=<value>parameters</value></literal>—sets -additional parameters that will be used during linking. -When using the system PCRE library under FreeBSD, -<literal>--with-ld-opt="-L /usr/local/lib"</literal> -should be specified. -</para> -</listitem> - -</list> - +For Linux, nginx <link doc="../linux_packages.xml">packages</link> +from nginx.org can be used. </para> +</section> + + +<section id="freebsd" name="Installation on FreeBSD"> + <para> -Example of parameters usage (all of this needs to be typed in one line): -<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-4.4 - --with-zlib=../zlib-1.1.3 -</programlisting> +On FreeBSD, nginx can be installed either from the <link +url="http://www.freebsd.org/doc/handbook/packages-using.html">packages</link> +or through the +<link url="http://www.freebsd.org/doc/handbook/ports-using.html">ports</link> +system. +The ports system provides greater flexibility, allowing selection among +a wide range of options. +The port will compile nginx with the specified options and install it. +</para> + +</section> + + +<section id="source_install" name="Building from Sources"> + +<para> +If some special functionality is required, not available with packages and +ports, nginx can also be compiled from source files. +While more flexible, this approach may be complex for a beginner. +For more information, see <link doc="configure.xml"/>. </para> </section>
--- a/xml/en/docs/mail/ngx_mail_core_module.xml +++ b/xml/en/docs/mail/ngx_mail_core_module.xml @@ -175,7 +175,7 @@ directive: <para> Unnecessary protocols can be disabled using the -<link doc="../install.xml">configuration</link> +<link doc="../configure.xml">configuration</link> parameters <literal>--without-mail_imap_module</literal>, <literal>--without-mail_pop3_module</literal> and <literal>--without-mail_smtp_module</literal>.
--- a/xml/ru/GNUmakefile +++ b/xml/ru/GNUmakefile @@ -15,6 +15,7 @@ DOCS = \ debugging_log \ http/websocket \ contributing_changes \ + configure \ FAQ = \ sys_errlist \
copy from xml/ru/docs/install.xml copy to xml/ru/docs/configure.xml --- a/xml/ru/docs/install.xml +++ b/xml/ru/docs/configure.xml @@ -5,15 +5,15 @@ <!DOCTYPE article SYSTEM "../../../dtd/article.dtd"> -<article name="Установка nginx" - link="/ru/docs/install.html" +<article name="Сборка nginx из исходных файлов" + link="/ru/docs/configure.html" lang="ru" - rev="3"> + rev="4"> <section> <para> -Конфигурация сборки осуществляется командой <command>configure</command>. +Сборка настраивается командой <command>configure</command>. Она определяет особенности системы и, в частности, методы, которые nginx может использовать для обработки соединений. В конце концов она создаёт <path>Makefile</path>. @@ -177,7 +177,8 @@ HTTPS</link>. Дистрибутив библиотеки (версию 4.4—8.32) нужно взять на сайте <link url="http://www.pcre.org">PCRE</link> и распаковать. -Всё остальное сделают ./configure nginx’а и make. +Всё остальное сделают <command>./configure</command> nginx’а и +<command>make</command>. Библиотека нужна для использования регулярных выражений в директиве <link doc="http/ngx_http_core_module.xml" id="location"/> и для модуля @@ -199,7 +200,8 @@ 4.4—8.32) нужно взять на сайте <link url="http://www.pcre.org">PCRE</link> путь к исходным текстам библиотеки zlib. Дистрибутив библиотеки (версию 1.1.3—1.2.7) нужно взять на сайте <link url="http://zlib.net">zlib</link> и распаковать. -Всё остальное сделают ./configure nginx’а и make. +Всё остальное сделают <command>./configure</command> nginx’а и +<command>make</command>. Библиотека нужна для модуля <link doc="http/ngx_http_gzip_module.xml">ngx_http_gzip_module</link>. </para> @@ -243,6 +245,11 @@ 1.1.3—1.2.7) нужно взять на сайте </programlisting> </para> +<para> +После конфигурации +nginx компилируется и устанавливается с помощью <command>make</command>. +</para> + </section> </article>
--- a/xml/ru/docs/index.xml +++ b/xml/ru/docs/index.xml @@ -8,7 +8,7 @@ <article name="nginx: документация" link="/ru/docs/" lang="ru" - rev="6" + rev="7" toc="no"> @@ -81,6 +81,10 @@ <list type="bullet"> <listitem> +<link doc="configure.xml"/> +</listitem> + +<listitem> <link doc="http/websocket.xml"/> </listitem>
--- a/xml/ru/docs/install.xml +++ b/xml/ru/docs/install.xml @@ -8,239 +8,52 @@ <article name="Установка nginx" link="/ru/docs/install.html" lang="ru" - rev="3"> + rev="1" + toc="no"> <section> <para> -Конфигурация сборки осуществляется командой <command>configure</command>. -Она определяет особенности системы и, в частности, методы, которые nginx -может использовать для обработки соединений. -В конце концов она создаёт <path>Makefile</path>. -Команда <command>configure</command> поддерживает следующие параметры: -<list type="bullet"> - -<listitem> -<para> -<literal>--prefix=<value>путь</value></literal>—задаёт каталог, -в котором будут находиться файлы сервера. -Этот же каталог будет использоваться для всех относительных путей, -задаваемых <command>configure</command> (кроме путей к исходным текстам -библиотек) и в конфигурационном файле <path>nginx.conf</path>. -По умолчанию—каталог <path>/usr/local/nginx</path>. -</para> -</listitem> - -<listitem> -<para> -<literal>--sbin-path=<value>путь</value></literal>—задаёт -имя исполняемого файла nginx. -Это имя используется только на стадии установки. -По умолчанию файл называется -<path><value>префикс</value>/sbin/nginx</path>. -</para> -</listitem> - -<listitem> -<para> -<literal>--conf-path=<value>путь</value></literal>—задаёт -имя конфигурационного файла <path>nginx.conf</path>. -При желании nginx можно всегда запустить с другим конфигурационным файлом, -указав его в параметре командной строки -<nobr><literal>-c <value>файл</value></literal></nobr>. -По умолчанию файл называется -<path><value>префикс</value>/conf/nginx.conf</path>. -</para> -</listitem> - -<listitem> -<para> -<literal>--pid-path=<value>путь</value></literal>—задаёт -имя файла nginx.pid, в котором будет храниться номер главного процесса. -После установки имя файла можно всегда поменять в конфигурационном -файле <path>nginx.conf</path> с помощью директивы -<link doc="ngx_core_module.xml" id="pid"/>. -По умолчанию имя -файла—<path><value>префикс</value>/logs/nginx.pid</path>. -</para> -</listitem> - -<listitem> -<para> -<literal>--error-log-path=<value>путь</value></literal>—задаёт -имя основного файла ошибок, предупреждений и диагностики. -После установки имя файла можно всегда поменять в конфигурационном -файле <path>nginx.conf</path> с помощью директивы -<link doc="ngx_core_module.xml" id="error_log"/>. -По умолчанию имя -файла—<path><value>префикс</value>/logs/error.log</path>. -</para> -</listitem> - -<listitem> -<para> -<literal>--http-log-path=<value>путь</value></literal>—задаёт -имя основного файла регистрации запросов HTTP-сервера. -После установки имя файла можно всегда поменять в конфигурационном -файле <path>nginx.conf</path> с помощью директивы -<link doc="http/ngx_http_log_module.xml" id="access_log"/>. -По умолчанию имя -файла—<path><value>префикс</value>/logs/access.log</path>. -</para> -</listitem> - -<listitem> -<para> -<literal>--user=<value>имя</value></literal>—задаёт -имя непривилегированного пользователя, с правами которого будут -выполняться рабочие процессы. -После установки это имя можно всегда поменять в конфигурационном -файле <path>nginx.conf</path> с помощью директивы -<link doc="ngx_core_module.xml" id="user"/>. -По умолчанию имя пользователя nobody. -</para> -</listitem> - -<listitem> -<para> -<literal>--group=<value>имя</value></literal>—задаёт -имя группы, с правами которой будут выполняться рабочие процессы. -После установки это имя можно всегда поменять в конфигурационном -файле <path>nginx.conf</path> с помощью директивы -<link doc="ngx_core_module.xml" id="user"/>. -По умолчанию группа совпадает с именем непривилегированного пользователя. -</para> -</listitem> - -<listitem> -<para> -<literal>--with-select_module</literal><br/> -<literal>--without-select_module</literal>—разрешает или запрещает -сборку модуля для работы сервера с помощью метода <c-func>select</c-func>. -Этот модуль собирается автоматически, если на платформе не обнаружено -более подходящего метода—kqueue, epoll, rtsig или /dev/poll. +nginx устанавливается по-разному в зависимости от операционной системы. </para> -</listitem> -<listitem> -<para> -<literal>--with-poll_module</literal><br/> -<literal>--without-poll_module</literal>—разрешает или запрещает -сборку модуля для работы сервера с помощью метода <c-func>poll</c-func>. -Этот модуль собирается автоматически, если на платформе не обнаружено -более подходящего метода—kqueue, epoll, rtsig или /dev/poll. -</para> -</listitem> - -<listitem> -<para> -<literal>--without-http_gzip_module</literal>—запрещает сборку модуля -<link doc="http/ngx_http_gzip_module.xml">сжатия ответов</link> HTTP-сервера. -Для сборки и работы этого модуля нужна библиотека zlib. -</para> -</listitem> +</section> -<listitem> -<para> -<literal>--without-http_rewrite_module</literal>—запрещает сборку модуля -HTTP-сервера, позволяющего <link doc="http/ngx_http_rewrite_module.xml">делать -перенаправления и менять URI запросов</link>. -Для сборки и работы этого модуля нужна библиотека PCRE. -</para> -</listitem> -<listitem> -<para> -<literal>--without-http_proxy_module</literal>—запрещает сборку -<link doc="http/ngx_http_proxy_module.xml">проксирующего модуля</link> -HTTP-сервера. -<!-- -Для сборки и работы этого модуля нужна библиотека md5. ---> -</para> -</listitem> +<section id="linux" name="Установка на Linux"> -<listitem> -<para> -<literal>--with-http_ssl_module</literal>—разрешает сборку модуля -для работы HTTP-сервера по <link doc="http/ngx_http_ssl_module.xml">протоколу -HTTPS</link>. -По умолчанию модуль не собирается. -Для сборки и работы этого модуля нужна библиотека OpenSSL. -</para> -</listitem> - -<listitem> <para> -<literal>--with-pcre=<value>путь</value></literal>—задаёт -путь к исходным текстам библиотеки PCRE. -Дистрибутив библиотеки (версию -4.4—8.32) нужно взять на сайте <link url="http://www.pcre.org">PCRE</link> -и распаковать. -Всё остальное сделают ./configure nginx’а и make. -Библиотека нужна для использования регулярных выражений в директиве -<link doc="http/ngx_http_core_module.xml" id="location"/> -и для модуля -<link doc="http/ngx_http_rewrite_module.xml">ngx_http_rewrite_module</link>. -</para> -</listitem> - -<listitem> -<para> -<literal>--with-pcre-jit</literal>—собирает библиотеку PCRE с -поддержкой JIT-компиляции (1.1.12, директива -<link doc="ngx_core_module.xml" id="pcre_jit"/>). -</para> -</listitem> - -<listitem> -<para> -<literal>--with-zlib=<value>путь</value></literal>—задаёт -путь к исходным текстам библиотеки zlib. Дистрибутив библиотеки (версию -1.1.3—1.2.7) нужно взять на сайте -<link url="http://zlib.net">zlib</link> и распаковать. -Всё остальное сделают ./configure nginx’а и make. -Библиотека нужна для модуля -<link doc="http/ngx_http_gzip_module.xml">ngx_http_gzip_module</link>. -</para> -</listitem> - -<listitem> -<para> -<literal>--with-cc-opt=<value>параметры</value></literal>—задаёт -дополнительные параметры, которые будут добавлены к переменной 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>. -</para> -</listitem> - -<listitem> -<para> -<literal>--with-ld-opt=<value>параметры</value></literal>—задаёт -дополнительные параметры, которые будут использованы при линковке. -При использовании системной библиотеки PCRE во FreeBSD, нужно указать -<literal>--with-ld-opt="-L /usr/local/lib"</literal>. -</para> -</listitem> - -</list> - +Для установки nginx на Linux могут быть использованы +<link doc="../linux_packages.xml">пакеты</link> с nginx.org. </para> +</section> + + +<section id="freebsd" name="Установка на FreeBSD"> + <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-4.4 - --with-zlib=../zlib-1.1.3 -</programlisting> +На FreeBSD можно установить nginx либо из +<link +url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/packages-using.html"> +пакетов</link>, либо с помощью системы +<link url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html"> +портов</link>. +Система портов даёт большую гибкость, позволяя выбирать из широкого +набора настроек. +Порт скомпилирует nginx с выбранными опциями и установит. +</para> + +</section> + + +<section id="source_install" name="Сборка из исходных файлов"> + +<para> +Если необходима специфическая функциональность, недоступная из пакетов или +портов, можно скомпилировать nginx из исходного кода. +Будучи наиболее гибким, этот подход может быть сложным для начинающего. +<link doc="configure.xml"/> освещает этот вопрос более подробно. </para> </section>
--- a/xml/ru/docs/mail/ngx_mail_core_module.xml +++ b/xml/ru/docs/mail/ngx_mail_core_module.xml @@ -173,7 +173,7 @@ listen unix:/var/run/nginx.sock; <para> Поддержку ненужных протоколов можно отключить с помощью -<link doc="../install.xml">конфигурационных</link> +<link doc="../configure.xml">конфигурационных</link> параметров <literal>--without-mail_imap_module</literal>, <literal>--without-mail_pop3_module</literal> и <literal>--without-mail_smtp_module</literal>.