符号链接不适用于厨师食谱(vagrant / debian8)

时间:2017-07-09 12:35:41

标签: chef

我正在尝试编写一个Chef配方来启用nginx中的网站,而其创建的符号链接似乎并没有起作用。我配置的机器是Debian8虚拟机,我与流浪者一起管理。

这是我的(非常简单)食谱:

include_recipe 'apt'

package 'nginx' do
  action :install
  version '1.6.2-5+deb8u4'
end

service 'nginx' do
  action [ :enable, :start ]
end

cookbook_file '/etc/nginx/sites-available/corner-house.conf' do
    source 'corner-house.conf'
    mode '0644'
end

cookbook_file '/etc/nginx/nginx.conf' do
    source 'nginx.conf'
    mode '0644'
end

link '/etc/nginx/sites-enabled/corner-house.conf' do
    to 'etc/nginx/sites-available/corner-house.conf'
end

link '/etc/nginx/sites-enabled/default' do
  action :delete
end

file '/var/www/html/index.nginx-debian.html' do
    action :delete
end

service 'nginx' do
    action :restart
end

如果我在运行vagrant配置后ls /etc/nginx/sites-enabled,我发现符号链接是孤立的。如果我然后删除它并使用ln -s创建一个新的符号链接,一切都很完美。

我在这里做了一些可怕的错误,或者这是流浪汉+厨师+ debian8组合的问题?

1 个答案:

答案 0 :(得分:2)

此部分包含拼写错误:路径缺少前导/

to 'etc/nginx/sites-available/corner-house.conf'

所以一定是

link '/etc/nginx/sites-enabled/corner-house.conf' do
    to '/etc/nginx/sites-available/corner-house.conf'
end