2013-04-10 69 views
2

我有一个有点麻烦试图禁用的Nginx的default_enabled_site重写Nginx的食谱default_enabled_site

# My Cookbook 
/cookbooks/my-server-book 
- /recipes/ 
- /attributes/ 
metadata.rb 

# Opscode Nginx 
/cookbooks/nginx 

我有override['nginx']['enable_default_site'] = false到我/cookbooks/my-server-book/attributes/default.rb文件,但它看起来像Nginx的食谱是覆盖我的变化

Recipe: nginx::commons_conf 

* template[nginx.conf] action create (up to date) 
* template[/etc/nginx/sites-available/default] action create (up to date) 
* execute[nxdissite default] action run (skipped due to only_if) 

任何见解将我大加赞赏。

我试着与无济于事node.json文件执行以下操作:

{ 
    "nginx": { 
    "default_site_enabled": false 
    }, 
    "run_list": ["recipe[main]"] 
} 

回答

2

execute[nxdissite default] - 这告诉你默认的站点已被禁用(配置文件将始终被创建,但不是符号链接到当前启用的配置目录中),这样您的覆盖似乎就可以工作。

+0

谢谢你让我知道如何使用执行[nxdissite默认]命令。这真的很有帮助。在关于我的问题,我跑厨师独奏之初未更改任何属性。这创造了000默认虚拟主机文件,这反过来会留在服务器上,即使我改变属性“default_site_enabled”:在node.json或我的食谱的属性default.rb档案造假。我beleive原因是该文件已经被创建,因此,删除000默认需要在/ etc或先禁用它,使属性的改变文件前/ nginx的/启用的站点 - 。 – 2013-04-10 13:55:16