--- - hosts: - all vars: nginx_user: www-data worker_processes: auto worker_connections: 2048 client_max_body_size: 512M vhosts: - virtual_domain: va4o4o-0.local listen_port: 80 - virtual_domain: va4o4o-1.local listen_port: 81 tasks: - name: Install NGINX apt: name: nginx state: present notify: - NGINX start - name: Create home directory for www file: path: /var/www/html/{{ item.virtual_domain }} state: directory loop: "{{ vhosts }}" - name: Replace NGINX config template: src: mytemplates/nginx.conf.j2 dest: /etc/nginx/nginx.conf - name: Add virtualhost config file template: src: mytemplates/vhost.conf.j2 dest: /etc/nginx/sites-available/{{ item.virtual_domain }}.conf mode: 0644 loop: "{{ vhosts }}" - name: Create symlink from available to enable file: dest: /etc/nginx/sites-enabled/{{ item.virtual_domain }}.conf src: /etc/nginx/sites-available/{{ item.virtual_domain }}.conf state: link loop: "{{ vhosts }}" - name: Delete symlink default file: path: /etc/nginx/sites-enabled/default state: absent - name: copy index.html template: src: mytemplates/index.html.j2 dest: /var/www/html/{{ item.virtual_domain }}/index.html mode: 0644 loop: "{{ vhosts }}" notify: - NGINX reload handlers: - name: NGINX start service: name: nginx state: started enabled: yes - name: NGINX reload service: name: nginx state: reloaded