允许用户在没有Sudo的情况下重新加载PHP FPM

问题描述:

在我们的开发服务器上,我们允许多个开发人员访问服务器到git pull其更改。通常这需要运行sudo systemctl reload php-fpm(或发送USR2等)。但是,我们希望允许他们重新加载PHP-FPM中更改的代码,而不需要sudo允许用户在没有Sudo的情况下重新加载PHP FPM

遥想当年,当我用使用Ruby,你可以做的正是我要找的由荷兰国际集团touch一个在tmp目录中名为restart.txt文件。

PHP-FPM是否支持类似的东西?或者,无论如何,允许reload命令(或任何类似的方法发送USR2)没有sudo

+0

为什么在'git pull'后需要重新启动/重新加载'php-fpm'? –

+0

你可以用红宝石达到同样的效果。我仍然没有CLUE为什么你要在git pull之后重新加载FPM,这是不需要的,你对php文件的改变将被执行。但是,为了避免进一步讨论:https://superuser.com/questions/181517/how-to-execute-a-command-whenever-a-file-changes - 在那里,根据您的需求进行调整。 –

+0

@ N.B。因为我们关闭了'opcache.validate_timestamps'来进行性能测试和基准测试(在生产中,虽然这与这个问题无关),清除OpCache最简单的方法是重新加载。 –

你可能在那里只是白名单的命令时在/ etc/sudoers文件:

user ALL=(root) NOPASSWD: systemctl reload php-fpm 

这将特权用户呼叫systemctl reload php-fpm为根(无密码)执行。