--- # Variable setup. - name: Include OS-specific variables. include_vars: "{{ ansible_os_family }}.yml" - name: Define nginx_user. set_fact: nginx_user: "{{ __nginx_user }}" when: nginx_user is not defined # Nginx setup. - name: Enable nginx repo (RedHat). template: src: nginx.repo.j2 dest: /etc/yum.repos.d/nginx.repo owner: root group: root mode: 0644 when: ansible_os_family == 'RedHat' - name: Ensure nginx is installed (RedHat). yum: pkg=nginx state=installed enablerepo=nginx when: ansible_os_family == 'RedHat' - name: Ensure nginx is installed (Debian). apt: pkg=nginx state=installed when: ansible_os_family == 'Debian' - name: Copy nginx configuration in place. template: src: nginx.conf.j2 dest: /etc/nginx/nginx.conf owner: root group: root mode: 0644 notify: restart nginx - name: Ensure nginx is started and enabled to start at boot. service: name=nginx state=started enabled=yes - name: Remove default nginx config file (if configured). file: path: "{{ nginx_default_vhost_path }}" state: absent when: nginx_remove_default_vhost notify: restart nginx