До недавнего времени я использовал ppa:nginx/development
но внезапно я не могу устанавливать nginx версию оттуда больше на 14,04.
https://launchpad.net / ~ nginx / + архив/человечность/разработка также указывает:
Следующие релизы Ubuntu больше не поддерживаются в PPA, должном создавать зависимости или проблемы, которые не могут быть разрешены из-за возраста выпуска:
- Надежный человек (14.04)
Что другие опции я должен получить более позднюю версию nginx на 14,04?
Мне нужно, по крайней мере, http2
поддержка (я работаю 1.9 и 1.13 на некоторых машинах успешно).
К вашему сведению: я - специалист по обслуживанию того, что PPA, таким образом, это - все знание, связанное с тем, почему 14.04 больше не поддерживается в PPA.
Просто к вашему сведению, "Разработкой NGINX" больше не является "Разработка". Ответвление Разработки стало ответвлением "Магистрали", таким образом, необходимо обратиться к нему как таковой - PPA nginx/development
то, потому что это - 'старый' PPA, отложенный до, они назвали это Магистралью.
Я означал изменять его, но это не был огромный приоритет так...
Необходимые зависимости для более нового NGINX не существуют на 14,04, и мы создаем только пакеты Debian из Debian, не Ubuntu определенные варианты. По сути, сборки для 14.04 из пакетов NGINX перестали работать, потому что один или несколько битов кода в NGINX не создают в (теперь более чем 4 года) 14,04 кодовых баз.
Журналы сборки показывают этот отказ:
cc -c -fPIC -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIC -D_FORTIFY_SOURCE=2 -DNDK_SET_VAR -I src/core -I src/event -I src/event/modules -I src/os/unix -I src/http/modules/perl -I /<<PKGBUILDDIR>>/debian/modules/http-ndk/objs -I objs/addon/ndk -I /<<PKGBUILDDIR>>/debian/modules/http-ndk/src -I /<<PKGBUILDDIR>>/debian/modules/http-ndk/objs -I objs/addon/ndk -I /<<PKGBUILDDIR>>/debian/modules/nchan/src -I /<<PKGBUILDDIR>>/debian/modules/http-lua/src/api -I /usr/include/lua5.1 -I /<<PKGBUILDDIR>>/debian/modules/rtmp -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 -I /<<PKGBUILDDIR>>/debian/modules/http-ndk/src -I src/mail -I src/stream \
-o objs/addon/store/store_common.o \
/<<PKGBUILDDIR>>/debian/modules/nchan/src/store/store_common.c
make[3]: *** No rule to make target `/<<PKGBUILDDIR>>/debian/modules/nchan/src/hiredis/hiredis.c', needed by `objs/addon/hiredis/hiredis.o'. Stop.
... через всю архитектуру создает в 14,04 для PPA (журналы сборки для 1.15.0: amd64
, arm64
, armhf
, i386
, и ppc64el
). Точный отказ сборки находится в стороннем модуле, который поставлется с nginx-extras
и используется многими людьми. Этот отказ сборки не уникален для ответвления Магистрали NGINX, также, поскольку тот же отказ происходит в Стабильном ответвлении. И этот отказ сборки только происходит в 14,04.
Этот модуль не создает в 14,04 ни при каких обстоятельствах; 14,04 сборкам как таковым не удается завершиться. Я мог отбросить эту функцию от пакета для Надежного человека, но это сделает пакеты не последовательными через выпуски.
Поэтому я отбросил 14.04 как поддерживаемый от NGINX PPAs.
Что касается PPA, больше не имеющего 1.13, поэтому обычно (обычно один раз в год приблизительно в то же время каждый год когда-то в середине до конца июля), я прохожу и очищаю PPAs для удаления версий пакета для "Не Поддерживаемый в PPA" выпуски.
Поэтому PPA больше не работает на 14,04, потому что я пошел и очистил пакеты в PPA.
(У нас была подобная проблема с Точной спиной в 2014, где я должен был уничтожить Точные сборки по той же причине: более старые библиотеки не создали бы более новый NGINX и требования модуля),
Это не будет содержать nginx-отдельно-оплачиваемые-предметы или любые сторонние модули, такие как модуль Lua - при необходимости в них, Вам не повезло.
Теперь, чтобы быть обновленными NGINX в 14,04, можно попытаться использовать инструкции установить восходящие Репозитории NGINX, однако чтобы сделать это, необходимо удалить все другие пакеты NGINX сначала и удостовериться, что не используете сторонних модулей, таких как Lua
Основная причина действительно необходимо идти и обновлять до более новой Ubuntu вместо того, чтобы пытаться использовать 14.04, то, что HTTP/2 на 14,04 не будет иметь всех необходимых функций необходимыми для истинной поддержки HTTP/2 - а именно, поддержка ALPN со стороны библиотек OpenSSL.
HTTP/2 нужна поддержка ALPN, чтобы действительно функционировать в нашем времени; это не доступно из библиотек OpenSSL в Ubuntu 14.04. Другой режим для HTTP/2 (N-P-N-СТРУКТУРА) не поддерживается многими браузерами, таким образом, Вы на самом деле не получите поддержку HTTP/2 со стороны многих библиотек теперь, поскольку много браузеров и такой не поддерживают N-P-N-СТРУКТУРУ HTTP/2.
Единственный подход, который фиксирует это, является обновлением Ваши системы по крайней мере к 16,04, поскольку они обеспечат достаточно новый OpenSSL для включения поддержки HTTP/2 и также предоставят Вам способность использовать более новые сборки NGINX, поскольку библиотеки являются более новыми и зависимости от сборки для компиляции более нового NGINX, и пакеты от Debian существуют.