Chef-solo 12.1.1 usermod:用户www-data当前被进程801

时间:2015-06-25 21:13:49

标签: nginx chef chef-solo

在users_manage资源上配置自定义cookbook失败:

users_manage" www-data"做     行动:创造 端

原因是该用户当前正在运行nginx工作进程。

一个简单的修复应该是在users_manage运行时停止服务。在Chef中这样做的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

一种解决方案可能是:

service 'nginx' do
  action :stop
  only_if ... # (add your condition check here, like a `ps` call to get the user of the nginx process)
end

users_manage 'www-data' do 
  action :create
end

service 'nginx' do
  action :start
end

更好的方法可能是回填users食谱的数据包,使其与当前系统保持同步,以便在您第一次调用users时不会改变任何内容cookbook和稍后安装nginx(在run_list中)。

更好的方法是将自定义用户添加到www-group并单独留下nginx。 Nginx的用户/组成员资格由包/发行版定义,并且各种事物都假定特定设置,例如logrotate cronjobs。如果你改变了,你可能会有一个糟糕的时间......