<?xml version="1.0"?>
<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
<article name="Загрузка и установка"
link="/ru/docs/njs/install.html"
lang="ru"
rev="5">
<section id="install_package" name="Установка пакета Linux">
<para>
Для установки модулей njs на Linux могут быть использованы
<link doc="../../linux_packages.xml" id="dynmodules">пакеты</link>:
<list type="bullet">
<listitem>
<literal>nginx-module-njs</literal> —
<link doc="../ngx_core_module.xml" id="load_module">динамические</link> модули
njs
</listitem>
<listitem>
<literal>nginx-module-njs-dbg</literal> — debug-символы для
пакета <literal>nginx-module-njs</literal>
</listitem>
</list>
</para>
<para>
После установки пакетов необходимо загрузить динамические модули njs при помощи
директивы
<link doc="../ngx_core_module.xml" id="load_module"><literal>load_module</literal></link>:
<example>
load_module modules/ngx_http_js_module.so;
</example>
или
<example>
load_module modules/ngx_stream_js_module.so;
</example>
</para>
</section>
<section id="install_sources" name="Установка из исходных файлов">
<para>
<link url="https://github.com/nginx/njs">Репозиторий</link>
с исходным кодом njs можно клонировать следующей командой
(необходим клиент <link url="https://git-scm.com/">Git</link>):
<example>
git clone https://github.com/nginx/njs
</example>
Затем модули необходимо собрать из
корневого каталога <link doc="../configure.xml">nginx</link> с помощью
конфигурационного параметра <literal>--add-module</literal>:
<example>
./configure --add-module=<value>path-to-njs</value>/nginx
</example>
Модули также можно собрать как
<link doc="../ngx_core_module.xml" id="load_module">динамические</link>:
<example>
./configure --add-dynamic-module=<value>path-to-njs</value>/nginx
</example>
</para>
<section id="install_quickjs" name="Добавление поддержки QuickJS">
<para>
Убедитесь, что присутствует библиотека QuickJS:
<example>
git clone https://github.com/bellard/quickjs
cd quickjs
CFLAGS='-fPIC' make libquickjs.a
</example>
На этапе компиляции модулей также укажите пути
include (<literal>-I</literal>) и library (<literal>-L</literal>)
с помощью
конфигурационных параметров
<literal>--with-cc-opt=</literal> и
<literal>--with-ld-opt=</literal>:
<example>
./configure --add-module=<value>path-to-njs</value>/nginx \
--with-cc-opt="-I <value>path-to-quickjs</value>" \
--with-ld-opt="-L <value>path-to-quickjs</value>"
</example>
</para>
</section>
</section>
<section id="cli" name="Сборка утилиты командной строки njs">
<para>
Чтобы собрать только <link doc="cli.xml">утилиту</link> командной строки njs,
необходимо запустить
команды <literal>./configure</literal> и <literal>make njs</literal>
из корневого каталога njs.
После сборки утилита доступна как <literal>./build/njs</literal>.
</para>
</section>
</article>