我们现在正在调查Ansible以配置我们的服务器.这是一个默认的Nginx,PHP-fpm& mysql设置.但是,我想知道这些软件包的安装以及如何使playbook在运行的服务中具有幂等性.
对于Nginx,我们有一个默认的Nginx.conf和conf.d /中的一些文件.对于PHP,我们有一个PHP.ini,一个PHP-fpm.conf,一个pool.d /中的池和conf.d /中的一些ini文件.是否想要覆盖每个ansible playbook call上的所有文件?
如果所有配置都被覆盖,即使服务器负载很重,是否可以进行服务Nginx重新加载和服务PHP5-fpm重新加载?对于初始安装,重新加载不会启动服务器,所以我必须首先检查状态,并根据它,在启动和重新加载之间切换?
如果我寻找带有Nginx安装的playbooks,他们经常使用将重启Nginx的处理程序.但是,这不是优雅的,所以我不喜欢这种方法:
service: name=Nginx state=restarted
最佳答案
service module can do reload状态=重新加载.
如果服务器上已存在相同版本,则不会上载配置文件.因此,如果您使用service,则reload将不会是triggerer:name = Nginx state =在处理程序中重新启动.
您还可以使用service:name = Nginx enable = yes,以便服务在启动时启动(因此无需明确启动Nginx,只在需要时重新加载).