На debian Jessie я установил nginx через apt-get. Теперь я хочу перейти на последнюю версию nginx, чтобы воспользоваться преимуществами http2. Мне не удалось добавить его в файл source.list, потому что это Raspberry PI. Я скачал, скомпилировал без проблем, но установил в другом месте.
Теперь, когда я nginx -v
У меня 1.6.3, но если я /usr/local/sbin/nginx -v
Получаю 1.11.2.
Я могу указать путь установки во время настройки, но я не знаю, что я хочу сделать. Я хотел бы установить 1.11 поверх 1.6 и не потерять все файлы и конфигурацию моего сайта. Как мне обновить nginx из исходников и сохранить всю мою старую конфигурацию?
На мой взгляд, лучшим путем вместо компиляции самостоятельно, особенно если у вас еще нет такого опыта (без обид), было бы использовать резервные копии, которые существуют, потому что:
Вы используете стабильную версию Debian, потому что вы предпочитаете стабильное дерево Debian. Он отлично работает, есть только одна проблема: программа немного устарела по сравнению с другими дистрибутивами. Вот тут-то и пригодятся бэкпорты.
Такой путь также предоставит вам обновления безопасности, о которых вы в противном случае позаботились бы сами.
Осталось одно предостережение: текущая версия nginx
в j-bpo
построен против openssl 1.0.1
, а это значит, что вы не сможете использовать ALPN
, но вместо того, чтобы NPN
, таким образом, вы не могли служить HTTP/2
к Chrome
пользователей, потому что разработчики сбросили NPN
поддерживают недавно, но он будет работать для людей, использующих Firefox
, например. Я описал обходной путь здесь. Если это возможно, подождите еще около четырех недель: nginx
в j-bpo
будет восстановлен против openssl 1.0.2
, так что вам больше не нужен этот обходной путь.
Итак, приступим (пока):
Добавить jessie-backports
в ваш sources.list. Это описано здесь.
Настроить APT pinning
, чтобы извлекать только указанные вами пакеты jessie-backports
:
Поместите что-нибудь вроде:
Package: *
Pin: release n=jessie
Pin-Priority: 900
Package: *
Pin: release a=jessie-backports
Pin-Priority: 100
в /etc/apt/preferences
. Если этого файла еще нет, создайте его.
Бегать apt-get update
.
Бегать apt-get install -t jessie-backports nginx
установить nginx
из jessie-backports
.