我试图为数组中的每个项动态创建一个新的nginx主机。但是,我需要知道循环的细节。
- name: 'adding sites to nginx'
template:
src: 'nginx/template.conf.j2'
dest: '/etc/nginx/conf.d/{{ item }}.conf'
owner: 'root'
group: 'root'
mode: 0644
with_items:
- '{{ sites }}'
除了模板不能访问循环数据之外,这一点非常有效。(网站(我需要了解网站,这样我才能正确地生成模板。
我可以通过使用{{ item }}
而不是{{ sites }}
来获得访问权限。
- name: 'adding sites to nginx'
template:
src: 'nginx/template.conf.j2'
dest: '/etc/nginx/conf.d/{{ item }}.conf'
owner: 'root'
group: 'root'
mode: 0644
with_items:
- '{{ sites }}'
然后在template.conf.j2
中,您可以通过瞄准{{ item }}
来访问当前循环
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name {{ item }}.{{ domain }};
set $base {{ app_path }}/{{ item }};
root $base/public;
# SSL
ssl_certificate /etc/letsencrypt/live/{{ domain }}/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/{{ domain }}/privkey.pem;
}