Вход:  Пароль:  
FreeSource: AltLinux/Apt/NginxAsCache ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Эта страница была перенесена на altlinux.org. Текст на freesource.info заморожен.

Использование nginx как кэширующего прокси для APT


При использовании дистрибутивов ALT Linux или ALT Linux Sisyphus часто требуется локальное частичное зеркало APT-источников: для раздачи пакетов группе машин в локальной сети, для разработки и других потребностией. Локальное – для хорошей скорости доступа, частичное – для экономии времени и трафика, которые уходят на поддержание полного зеркала.


Очевидное решение: вытаскивать из /var/cache/apt/archives или /hasher/aptbox пакеты, запускать genbasedir и подключать результат как локальный репозитарий. Очевидный недостаток: теряется информация о конкретном источнике пакета. Если подключен и бранч, и сизиф, то полученный репозитарий нельзя использовать на другой машине, которую желательно оставить на бранче.


nginx >= 0.5.31 позволяет организовать локальный частичный миррор, лишённый этого недостатка.

Конфигурация nginx


nginx.conf:


/etc/apt/sources.list:


И сделать

Более умная конфигурация nginx


Чтобы пользователи APT не заботились о том, на какое зеркало настроен nginx, его нужно слегка перенастроить:


nginx.conf:


/etc/apt/sources.list:

Известные проблемы


nginx – это все-таки не настоящий кэширующий прокси, и обновлять сохраненные файлы он не намерен независимо от Last-Modified.
Сами пакеты меняться не могут, поэтому это составляет проблему только для индексов APT, так что необходимо периодически делать


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


Эта команда удалит из локального репозитория все файлы, которых нет на сервере, и заодно обновит индексы.

Информация об авторе


Взято из этой публикации gns.


Добавлено 24.03.08 by Черносов Денис

Пробовал внедрить рецепт на версии nginx-0.5.33-alt1.M40.1


обнаружил, что помещение нескольких директив proxy_pass в один раздел location приводит к ошибке такого вида:


Также в моем случае вылезала ошибка:


После модификаций конфиги выглядят следующим образом:


/etc/apt/sourses.list


/etc/nginx/nginx.conf


Страницы, ссылающиеся на данную: AltLinux/Apt


 
Файлы [Скрыть файлы/форму]
Комментариев нет. [Показать комментарии/форму]