我正在尝试在 Opscode Chef 中从源代码安装 nginx,但它有点奇怪,它运行时没有任何抱怨但也没有安装它。
这就是我的角色属性的样子
"nginx":{
"default_site_enabled":false,
"version":"1.2.6",
"init_style":"init",
"install_method":"source",
"configure_flags":[
"--without-http_access_module",
"--without-http_auth_basic_module",
"--without-http_autoindex_module",
"--without-http_browser_module",
"--without-http_charset_module",
"--without-http_fastcgi_module",
"--without-http_memcached_module",
"--without-http_referer_module",
"--without-http_scgi_module",
"--without-http_split_clients_module"
],
"log_dir":"/var/log/nginx",
"binary":"/opt/nginx/sbin/nginx",
"source":{
"prefix":"/opt/nginx/dist",
"modules":["http_ssl_module",
"http_gzip_static_module"
]
}
},
厨师日志显示:
[2012-12-19T02:37:44+00:00] INFO: Processing bash[compile_nginx_source] action run (nginx::source line 82)
[2012-12-19T02:37:45+00:00] INFO: bash[compile_nginx_source] ran successfully
我不知道发生了什么事:(
答案1
这是 nginx 配方中一个非常疯狂的错误(如下所述:https://github.com/opscode-cookbooks/nginx/pull/13)
问题在于在角色属性中包含版本属性。只需将其删除即可。
这确实花了我很多时间来弄清楚,我希望这些信息可以为其他人节省时间。
这里有一个未解决的错误https://github.com/opscode-cookbooks/nginx/pull/14与此相关。
为了解决这个问题,最好的办法是使用 0.99.2 版本的接收器