我对红宝石和厨师很新。我正在尝试根据核心数在nginx.conf文件中创建条目。
for i in <%= node["cpu"]["total"]%>
upstream frontends {
server 127.0.0.1:805x;
}
end
所以..如果4个核心,文件将如下所示:
upstream frontends {
server 127.0.0.1:8051;
server 127.0.0.1:8052;
server 127.0.0.1:8053;
server 127.0.0.1:8054;
}
答案 0 :(得分:14)
<强>配方强>
template "/etc/nginx/sites-available/my-site.conf" do
variables :frontends_count => node["cpu"]["total"]
end
<强>模板强>
upstream frontends {
<% @frontends_count.times do |i| %>
server 127.0.0.1:805<%= i + 1 %>;
<% end %>
}
答案 1 :(得分:3)
我不熟悉Chef,因为我是Puppet用户。一般来说,我会像这样解决它:
n.times { |i| puts "server 127.0.0.1:805#{i+1}" }
输出:
server 127.0.0.1:8051
server 127.0.0.1:8052
server 127.0.0.1:8053
server 127.0.0.1:8054
显然你必须用n
替换node["cpu"]["total"]
(我假设它是一个整数)并使用puts
之外的其他东西,但这应该让你开始。我想这应该适用于Chef:
upstream frontends {
<% node["cpu"]["total"].times do |i| -%>
<%= "server 127.0.0.1:805#{i+1}" %>
<% end -%>
}
答案 2 :(得分:0)
以下是if语句的示例。
食谱:
Housefull <- predict(fullmodel, newdata[,])
Housebest <- predict(bestmodel, newdata[,])
Housesqft <- predict(sqftmodel, newdata[,])
模板:
template "/opt/auth/users.xml" do
...
variables(
:users => auth_users
)
end