Spec-Zone.ru › Varnish

Компиляция Varnish из исходного кода

Если для вашей системы нет бинарных пакетов, или если вы хотите скомпилировать Varnish из исходного кода по другим причинам, выполните следующие шаги:

Получение исходного кода

Скачайте соответствующий релизный tarball, который можно найти на https://varnish-cache.org/releases/ .

В качестве альтернативы, если вы хотите внести изменения в Varnish, вы можете клонировать наш репозиторий Git, выполнив:

git clone https://github.com/varnishcache/varnish-cache

Необходимые зависимости для сборки на FreeBSD

Чтобы получить зависимости, необходимые для сборки varnish из исходного кода, вы можете либо:

pkg install automake pkgconf py36-sphinx py36-docutils pcre2 libtool

И, необязательно, для возможности запуска всех тестовых случаев:

pkg install haproxy nghttp2 vttest

Или, если вам нужен скомпилированный из исходного кода:

cd /usr/ports/www/varnish6
make depends clean

Затем продолжите компиляцию Varnish

Необходимые зависимости для сборки на Debian/Ubuntu

Для компиляции Varnish из исходного кода вам необходимо установить ряд пакетов. В системе Debian или Ubuntu используйте эту команду для их установки (замените sudo apt-get install при необходимости):

sudo apt-get install \
    make \
    automake \
    autotools-dev \
    libedit-dev \
    libjemalloc-dev \
    libncurses-dev \
    libpcre2-dev \
    libtool \
    pkg-config \
    python3-docutils \
    python3-sphinx \
    cpio

Необязательно, для перестроения файлов svg:

sudo apt-get install graphviz

Рекомендуется, особенно если вы планируете создавать собственные vmods:

sudo apt-get install autoconf-archive

Необязательно, для получения из репозитория:

sudo apt-get install git

Затем продолжите компиляцию Varnish

Необходимые зависимости для сборки на Red Hat/CentOS

В следующих командных строках замените sudo yum install при необходимости.

Установить sphinx

  • В Red Hat/CentOS 8 sphinx не включен в стандартные репозитории, поэтому выполните эти шаги, чтобы включить его из репозитория powertools:

    sudo dnf install -y 'dnf-command(config-manager)'
    sudo yum config-manager --set-enabled powertools
    sudo yum install -y diffutils python3-sphinx
    
  • В Red Hat/CentOS <= 7 установите sphinx:

    sudo yum install -y python-sphinx
    

Следующий шаг должен завершить установку необходимых пакетов:

yum install -y \
      make \
      autoconf \
      automake \
      jemalloc-devel \
      libedit-devel \
      libtool \
      libunwind-devel \
      ncurses-devel \
      pcre2-devel \
      pkgconfig \
      python3-docutils \
      cpio

Необязательно, для перестроения файлов svg:

yum install graphviz

Необязательно, для получения из репозитория:

yum install git

Затем продолжите компиляцию Varnish

Необходимые зависимости для сборки на MacOS

Для компиляции varnish на MacOS эти шаги должны установить необходимые зависимости:

  • Установить xcode через App Store
  • Установить зависимости через brew:

    brew install \
        autoconf \
        automake \
        pkg-config \
        libtool \
        docutils \
        sphinx-doc
    
  • Добавить sphinx в PATH, как указано в установщике:

    PATH="/usr/local/opt/sphinx-doc/bin:$PATH"
    

Затем продолжите компиляцию Varnish

Необходимые зависимости для сборки на Alpine Linux

Начиная с Alpine 3, эти шаги должны установить необходимые зависимости:

  • Добавить репозиторий сообщества Alpine
  • Установить зависимости:

    apk add -q \
        autoconf \
        automake \
        build-base \
        ca-certificates \
        cpio \
        gzip \
        libedit-dev \
        libtool \
        libunwind-dev \
        linux-headers \
        pcre2-dev \
        py-docutils \
        py3-sphinx \
        tar \
        sudo
    

Необязательно, для перестроения файлов svg:

apk add -q graphviz

Необязательно, для получения из репозитория:

apk add -q git

Затем продолжите компиляцию Varnish, используя --with-unwind configure опцию.

Необходимые зависимости для сборки в зоне SmartOS

Начиная с SmartOS pkgsrc 2019Q4, установите следующие пакеты:

pkgin in autoconf automake editline libtool ncurses \
         pcre2 python37 py37-sphinx py37-docutils gmake gcc8 pkg-config

Примечание: вам, вероятно, потребуется добавить /opt/local/gcc8/bin в PATH для того, чтобы gcc был доступен.

Необязательно, для перестроения файлов svg:

pkgin in graphviz

Необязательно, для получения из репозитория:

pkgin in git

Сборка на Solaris и других подобных Solaris ОС

Сборка с помощью gcc должна быть прямой, если установлены вышеперечисленные требования.

По умолчанию, рассмотрите установку Varnish в /opt/local с помощью:

./configure \
        --prefix=/opt/local \
        --mandir=/opt/local/man

В качестве альтернативы, сборка с Solaris Studio 12.4 должна работать с учётом следующих рекомендаций:

  • иметь GNU nm в $PATH перед Solaris nm
  • Предоставить флаги компилятора для configure для включения путей, по которым установлены зависимости. Пример для /opt/local:

    ./configure \
            --prefix=/opt/local \
            --mandir=/opt/local/man \
            CPPFLAGS="-I/opt/local/include" \
            CFLAGS="-m64" \
            LDFLAGS="-L/opt/local/lib -R/opt/local/lib"
    

Компиляция Varnish

Для конфигурации необходимо выполнить указанные выше зависимости. После этого:

cd varnish-cache
sh autogen.sh
sh configure
make

Скрипт configure принимает некоторые аргументы, но, скорее всего, вы можете об этом забыть на данный момент, практически всё в Varnish можно настроить параметрами во время выполнения.

Перед установкой вы можете запустить набор тестов, пока можете выпить чашку чая, обычно это занимает несколько минут:

make check

Не беспокойтесь, если один или два теста не пройдут. Некоторые тесты слишком чувствительны к времени выполнения (Пожалуйста, сообщите, какие, чтобы мы могли их исправить). Однако, если большинство из них не пройдёт, и особенно если тест b00000.vtc не пройдёт, что-то очень не так. Вы не продвинетесь без выяснения этого.

Установка

И, наконец, истинный тест мужества: sudo make install

Varnish будет установлен в /usr/local. Бинарный файл varnishd находится в /usr/local/sbin/varnishd. Чтобы убедиться, что найдены необходимые ссылки и кэши самых последних общих библиотек, выполните sudo ldconfig.

Copyright © 2006 Verdens Gang AS
Copyright © 2006–2020 Varnish Software AS
Licensed under the BSD-2-Clause License.
https://varnish-cache.org/docs/7.4/installation/install_source.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API