小编Ian*_*son的帖子

乱序厨师食谱导致 apt 软件包安装失败

我正在编写一个厨师食谱来安装 nginx 和 Phusion Passenger。简短的总结是我的运行列表中的配方没有按照我期望的顺序执行,这导致 apt 包安装以我不知道如何修复的方式失败。整个序列有点复杂,我会尽力保留基本细节。

我有自己的配方,lr-web用于将 Web 服务器自定义为我希望它处于的状态。它对nginx.conf. 我还有一个角色来协调整体配置,其运行列表是:

 "run_list":[
   "recipe[apt]",
   "recipe[nginx]",
   "recipe[passenger]",
   "recipe[lr-web]"
 ]
Run Code Online (Sandbox Code Playgroud)

此外,lr-web配方列表passenger,并nginx在它的依赖metadata.rb

aptnginx食谱是标准的Opscode公司的。但是我已经编写了自己的passenger配方,因为 OpsCode 使用 ruby​​gems 来安装乘客,但该版本不再受支持。按照modrails.com上的建议通过 apt 安装,我的passenger食谱中有以下步骤:

cookbook_file "/etc/apt/sources.list.d/passenger.list" do
  source "passenger.list"
  mode 600
  action :create_if_missing
end

bash "apt-get-update" do
  user "root"
  code <<-EOF
    apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
    apt-get install apt-transport-https ca-certificates
    apt-get update
EOF
end

apt_package "nginx-extras" …
Run Code Online (Sandbox Code Playgroud)

nginx phusion-passenger chef

5
推荐指数
1
解决办法
2303
查看次数

标签 统计

chef ×1

nginx ×1

phusion-passenger ×1