大厨食谱无法在RHEL 7.3上安装nginx

时间:2017-03-11 12:10:24

标签: nginx chef rhel7

我正在尝试使用厨师中的包管理器并安装nginx服务器,但每次我在客户端上运行烹饪书时,它只是说

 Recipe: nginx::default

* yum_package [nginx] action install [2017-03-11T06:16:01-05:00] INFO:处理yum_package [nginx]动作安装(nginx ::默认行11)

 * No candidate version available for nginx
 ================================================================================
 Error executing action `install` on resource 'yum_package[nginx]'
 ================================================================================

 Chef::Exceptions::Package
 -------------------------
 No candidate version available for nginx

 Resource Declaration:
 ---------------------
 # In /var/chef/cache/cookbooks/nginx/recipes/default.rb

  11: package "nginx" do
  12:   action :install
  13: end
  14:

 Compiled Resource:
 ------------------
 # Declared in /var/chef/cache/cookbooks/nginx/recipes/default.rb:11:in `from_file'

 yum_package("nginx") do
   package_name "nginx"
   action [:install]
   retries 0
   retry_delay 2
   default_guard_interpreter :default
   declared_type :package
   cookbook_name "nginx"
   recipe_name "default"
   flush_cache {:before=>false, :after=>false}
 end

 Platform:
 ---------
 x86_64-linux

[2017-03-11T06:16:29-05:00]信息:在重新提出异常之前运行排队延迟通知

运行处理程序:  [2017-03-11T06:16:29-05:00]错误:运行异常处理程序  运行处理程序完成  [2017-03-11T06:16:29-05:00]错误:异常处理程序完成  厨师客户失败了。 1资源在05分44秒内更新

甚至我试图安装epel-release软件包但被拒绝了类似的错误。

知道如何使用CHEF配方安装nginx。

我也试过使用yum_package,但没有运气安装

 yum_package "nginx" do
    action :install
 end

由于

2 个答案:

答案 0 :(得分:0)

这意味着您的存储库中没有名为nginx的包。如果您登录要配置的计算机(例如,使用kitchen login),则可以尝试搜索包nginx。

如果它不在您的存储库中,安装它的最佳方法是将nginx´s official repo添加到Chef存储库资源(如Centos的yum_repository)或使用Chef资源remote_file下载tarball。

如果您选择最后一个选项,请确保生成您下载的tarball的sha256并将其添加到remote_file资源中,以防止Chef每次运行该文件时阻止其下载。

- 编辑 -

正如Szymon所说,您也可以使用Nginx食谱,不要写任何特殊食谱。

答案 1 :(得分:0)

discussed here一样,您可以使用NGINX官方厨师食谱,也可以在安装NGINX之前先安装epel-release

if platform_family?('rhel')
  package 'epel-release'
end

if platform_family?('debian')
  apt_update 'update'
end

package 'nginx'