通过 chef 在 Centos 7 上重启 Nginx 服务

Restart Nginx service on Centos 7 via chef

我正在尝试使用 chef 配置 nginx 服务,但出现以下错误。

Chef::Exceptions::Service
-------------------------
service[nginx]: unable to locate the init.d script!


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

 23: service 'nginx' do
 24:   supports :status => true, :restart => true, :reload => true
 25:   action   :enable
 26: end
 27:     

我可以在

机器上手动重启服务

service nginx restart
Redirecting to /bin/systemctl restart nginx.service

如果 Systemctl 管理 nginx 服务,如何通过 chef 重启 nginx 服务?

我还应该创建 init.d 脚本吗?

谢谢

要将其复制为答案:

这样就可以了,早于自动 systemd 支持。我不记得我们当时是否完全支持 systemd。可能最好至少升级到最新的 11.x 版本,但实际上您现在应该升级到 12

您可以尝试将 provider Chef::Provider::Service::Systemd 添加到您的 service 资源中,看看是否可行。如果没有,那么您需要升级。