nginx - Chef Recipe 无法在 RHEL 7.3 上安装 nginx

标签 nginx chef-infra rhel7

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

 Recipe: nginx::default

* yum_package[nginx] 操作安装[2017-03-11T06:16:01-05:00] 信息:处理 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]错误:异常处理程序完成 Chef 客户端失败。 05 分 44 秒更新了 1 个资源

甚至我尝试安装 epel-release 软件包,但因类似错误而被拒绝。

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

我也尝试使用 yum_package 但安装失败

 yum_package "nginx" do
    action :install
 end

谢谢

最佳答案

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

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

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

-编辑-

正如 Szymon 所说,您还可以使用 Nginx Recipe 来实现此目的,并且无需编写任何特殊 Recipe 。

关于nginx - Chef Recipe 无法在 RHEL 7.3 上安装 nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42735027/

相关文章:

linux - 如何使用文件名中的通配符从chown递归中排除文件?

node.js - 如何在windows中使用NGINX为node js配置HTTPS

nginx - Openresty/nginx ngx.say() 开始下载

Chef 中的 MySql 服务器配方未设置指定密码

ruby - 从资源中删除样板属性

docker - yum install无法从Dockerfile运行

rhel - Forgerock - Forgeops - util - 使用 RHEL 构建?

ssl - Nginx 配置为 SSL,配置?

nginx - 使用 NGINX 在子目录上托管 Gatsby

capistrano - Chef-solo 与 Capistrano 的集成