小编Fra*_*eni的帖子

Ansible 根据条件更改默认值

是否可以根据某些条件(即另一个变量的值)更改角色变量的默认值?

细节

我有一个命令的两个相关变量,envcomposer_opts.

如果两者都保留为默认值(env = "prod"composer_opts = "--no-dev"),则一切正常。

如果我更改envdev,另一个的默认值会破坏我的命令,所以我总是需要同时设置两者。是否可以通过使用自定义脚本/if 设置条件默认值来避免这种情况?

重要提示:我不想总是设置composer_opts根据该值env的价值。我只想在尚未设置的情况下设置它(即动态默认值)。

伪代码

我想做这样的事情(以下代码无效,只是表达我需要的伪代码)

---
# defaults/main.yml

env: prod
composer_opts: 
    when: "{{env}}" = 'prod'
        '--no-dev --optimize-autoloader --no-interaction'
    when: "{{env}}" = 'dev'
        '' 
Run Code Online (Sandbox Code Playgroud)

ansible

18
推荐指数
2
解决办法
7万
查看次数

在几个 php5-fpm 池中包含通用配置

简而言之:如何在多个 php-fpm 池中包含相同的设置而不为每个池重复它们?

细节

在 php5-fpm 中有全局指令和每个池指令。在所有示例和文档中,每个池都有所有必需的设置,例如

[www]
user = $pool
group = $pool
listen = 127.0.0.1:9001
listen.owner = $pool
listen.group = $pool
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 30s
chdir = /var/www/$pool

[www2]
user = $pool
group = $pool
listen = 127.0.0.1:9002
listen.owner = $pool
listen.group = $pool
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 30s
chdir = /var/www/$pool
Run Code Online (Sandbox Code Playgroud)

如您所见,大多数配置都是相同的,所以我想知道是否有办法将该配置放在所有池都可以隐式或显式包含它们的地方。

将它们放在该[Global]部分的底部是行不通的。

谢谢你的任何建议。

php web-server php-fpm

3
推荐指数
1
解决办法
2745
查看次数

标签 统计

ansible ×1

php ×1

php-fpm ×1

web-server ×1