Могу ли я установить пользовательскую сборку nginx, используя или перезаписав встроенный в AWS OpsWork рецепт unicorn::rails?

Отказ от ответственности: я полный новичок в AWS и особенно в OpsWorks. Я яростно читаю документацию OpsWorks и Chef в надежде, что мой вопрос глупый/действительно простой.

В моем приложении я использую единорога ::rails встроенный рецепт OpsWorks Chef. Я почти уверен, что unicorn::rails создает nginx по пути, используя этот загадочный вызов пакета в nginx/recipes/default.rb. Экземпляр EC2 использует Ubuntu, поэтому менеджером пакетов является apt-get.

Вопросы:

  1. Можно ли выполнить пользовательскую сборку nginx со встроенным рецептом OpsWorks Chef?
  2. Если (а) верно, где можно изменить скрипт шеф-повара для сборки nginx с модулями?

Я подозреваю, что мне нужно будет написать собственный сценарий Chef и добавить еще один слой в стек. Я надеялся использовать встроенные рецепты как можно дольше, потому что я новичок в AWS OpsWorks и Chef.


person Disaster Mouse    schedule 02.10.2014    source источник
comment
Это может быть не по теме переполнения стека. Я подозреваю, что привилегированный пользователь, веб-мастера или Server Fault может подойти лучше.   -  person the Tin Man    schedule 02.10.2014
comment
спасибо @theTinMan! Я опубликую это там. Вы не знаете, есть ли способ перенести туда вопрос или мне просто скопировать/вставить?   -  person Disaster Mouse    schedule 02.10.2014
comment
Его можно перенести, если мы проголосуем за его закрытие из-за того, что он находится на неправильном сайте Stack Exchange. Это может занять дни. Вместо этого вы можете скопировать/вставить информацию на другой сайт, а затем удалить этот.   -  person the Tin Man    schedule 03.10.2014


Ответы (1)


  1. No.

Рецепт opsworks nginx устанавливает пакет nginx :

package "nginx" 

Для выполнения этой задачи Chef использует локальный менеджер пакетов. Скорее всего, это rpm/yum на инстансах Amazon.

Альтернативы

Если вы хотите использовать собственную сборку nginx, я бы посоветовал использовать основную поваренную книгу nginx, и она < href="https://github.com/miketheman/nginx/blob/master/recipes/source.rb" rel="nofollow noreferrer">исходный рецепт для сборки и установки nginx. Существуют атрибуты узла, которые настраивают сборку.

Вы также можете создать свой собственный пакет nginx rpm и сделать его доступным для ваших систем, тогда opworks установит ваш rpm вместо nginx с небольшими изменениями. Тем не менее, это может быть скользкий склон оборотов для езды.

person Matt    schedule 02.10.2014
comment
Документация по aws здесь — docs.aws.amazon.com/opsworks/latest /userguide/customizing.html говорит, что вы не можете переопределить встроенные рецепты кулинарными книгами с таким же названием. Как вы предлагаете добавить собственную кулинарную книгу сейчас? - person Shrinath; 05.10.2014
comment
Похоже, вам нужно создать полный пользовательский слой. Обратите внимание, что в нем также говорится, что у вас будет установлен как nginx по умолчанию, так и ваш собственный nginx. Я бы создал поваренную книгу-оболочку для основная кулинарная книга nginx, на которую я ссылался. В оболочке реализованы все требования Opworks. но как можно чаще обращаюсь к nginx. - person Matt; 08.10.2014
comment
Я думаю, что лучше сделать следующее: получить кулинарную книгу apt, написать собственную кулинарную книгу для удаления nginx, если она существует, apt-add-repository nginx, apt-get update, установить nginx. вручную запустить это сработало, просто нужно заставить его работать на шеф-поваре; Что сказать? - person Shrinath; 08.10.2014