Назад | Перейти на главную страницу

Конфликт пространства имен OpsWorks nginx

Я хочу развернуть одну из моих кулинарных книг, nginx-пассажира, в opsworks. Я тестировал кулинарные книги на месте, используя testkitchen, и все рецепты и тесты прошли успешно. Однако при использовании opsworks запуск nginx-пассажира :: по умолчанию завершается ошибкой «Не удалось удовлетворить ограничения версии для: nginx». У Opsworks уже есть кулинарная книга с точно таким же названием, но в другой версии, так что, вероятно, это вызвано этим.

Я уже искал эту ошибку и нашел следующее https://forums.aws.amazon.com/thread.jspa?threadID=153656

Однако это не предлагает реального решения.

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

my_cookbooks / Berksfile:

source "https://supermarket.getchef.com"

cookbook 'user', '~> 0.3.0'
cookbook 'apt', '~> 2.6.0'
cookbook 'nginx', '~> 2.7.4'

my_cookbooks / nginx-пассажир / metadata.rb

name "nginx-passenger"
version "0.1.0"

depends 'nginx', '~> 2.7.4'
depends 'apt', '~> 2.6.0'

Можете ли вы порекомендовать решение этой проблемы. Я действительно хочу использовать здесь кулинарную книгу сообщества nginx.

РЕДАКТИРОВАТЬ: Простите, я забыл упомянуть несколько деталей. Я пытаюсь создать собственный слой, но еще не назначил ему никаких рецептов. Я создал экземпляр, обновил пользовательские кулинарные книги и вручную выполнил рецепт nginx-пассажира :: default.

Конфликты именования - известная проблема в кулинарных книгах OpsWorks, и простого решения нет.

Возможно, вам придется загрузить кулинарные книги сообщества nginx и nginx-пассажира в каталог рецептов, переименовать книгу рецептов nginx во что-то вроде nginx-community, а затем обновить все ссылки в книге рецептов nginx-пассажира с nginx до nginx-community.

С другой стороны, вам, вероятно, следует подумать, действительно ли вам нужны кулинарные книги сообщества nginx и nginx-пассажира. У OpsWorks есть свои кулинарные книги для nginx и пассажира, просто стек Ruby по умолчанию использует Apache. Вероятно, вам нужно будет перезаписать только один или два файла в кулинарной книге nginx, чтобы он работал с пассажиром.