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

Я хочу развернуть одну из моих кулинарных книг, nginx-passenger, на opsworks. Я уже тестировал кулинарные книги локально, используя testkitchen, и все рецепты и тесты прошли успешно. Однако при использовании opsworks запуск nginx-passenger::default завершается с ошибкой "Не удалось удовлетворить ограничения версии для: 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-passenger::default вручную.

1 ответ

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

Что вам, возможно, потребуется сделать, это загрузить кулинарные книги сообщества nginx и nginx-passenger в свой каталог кулинарных книг, переименовать кулинарную книгу nginx в нечто вроде nginx-community, а затем обновить любые ссылки в кулинарной книге nginx-passenger из nginx в nginx-community.

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

Другие вопросы по тегам