我正在尝试编写一个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组合的问题?
答案 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