Я пытаюсь использовать шеф-повара для предоставления веб-сервера centos с nginx. Я хочу использовать http_auth_request_module и headers_more_module. Моя роль выглядит следующим образом:Использование модулей nginx с поваром повара nginx
{
"name" : "cms-aws",
"description" : "a role to deploy cms to aws",
"default_attributes" : {
"nginx" : {
"source" : {
"modules" : ["nginx::http_auth_request_module","nginx::headers_more_module"]
}
}
},
"run_list" : [
"runit",
"python",
"build-essential",
"gunicorn",
"nginx::source",
"openssl",
"yum",
"git",
"yum-epel",
"my-custom-cookbook",
"supervisor"
]
}
Однако, когда я бегу Nginx -V на сервере, эти модули не перечислены, и Nginx жалуется, когда я использую директиву auth_request в моем файле конф.
Я также попытался со следующими атрибутами, но повар не мог найти эти кулинарные книги, когда я побежал:
"default_attributes" : {
"nginx" : {
"source" : {
"modules" : ["http_auth_request_module","headers_more_module"]
}
}
},
Edit: Итак, я определил, что AMI я бегу это на уже установлен nginx. Поэтому, когда systemctl запускает nginx, он атакует существующий, а не тот, который устанавливает шеф-повар. Я попытался модифицировать свои атрибуты, как, например:
"default_attributes" : {
"nginx" : {
"source" : {
"modules" : ["nginx::http_auth_request_module","nginx::headers_more_module"]
},
"binary" : "/usr/sbin/nginx"
}
},
но шеф все еще устанавливает Nginx в /opt/nginx-1.6.2/sbin/nginx
, любая идея, как это исправить?
Редактировать изменение: Оказывается, nginx не установлен из коробки в этом AMI, поэтому поваренная книга устанавливает его на /usr/sbin/nginx
, но когда я запустил nginx -V
, нужных модулей в списке не указано. Когда я запускаю /opt/nginx-1.6.2/sbin/nginx -V
, он перечисляет запрошенные модули.
В этом окне, что вы получаете, когда запускаете 'which -a nginx'? В основном, сколько мест в nginx установлено/связано/найдено? –