فهرست منبع

Addning handler for Nginx config validation:

Although the 'validate' param was added for the deployment of
/etc/nginx.conf - this validation process will only be triggered upon
changes.
So, if a vhost config is updated, but the main config isn't, the
collective config will not be verified.

I've added a new handler 'validate nginx configuration' and added this
to the 'notify' param as a first list item for vhost config changes.

Unfortunately, this will not protect against the deployment of malformed
configuration, however it will prevent the restart of Nginx in such a
situation (as the 'validate nginx configuration' handler should error
out before the 'restart nginx' handler is called).
cmacrae 10 سال پیش
والد
کامیت
fd6b8c8e6b
2فایلهای تغییر یافته به همراه11 افزوده شده و 2 حذف شده
  1. 4 0
      handlers/main.yml
  2. 7 2
      tasks/vhosts.yml

+ 4 - 0
handlers/main.yml

@@ -1,3 +1,7 @@
 ---
 - name: restart nginx
   service: name=nginx state=restarted
+
+- name: validate nginx configuration
+  command: nginx -t -c /etc/nginx.conf
+  changed_when: False

+ 7 - 2
tasks/vhosts.yml

@@ -12,11 +12,16 @@
     dest: "{{ nginx_vhost_path }}/vhosts.conf"
     mode: 0644
   when: nginx_vhosts|length > 0
-  notify: restart nginx
+  notify:
+    - validate nginx configuration
+    - restart nginx
 
 - name: Remove managed vhost config file (if no vhosts are configured).
   file:
     path: "{{ nginx_vhost_path }}/vhosts.conf"
     state: absent
   when: nginx_vhosts|length == 0
-  notify: restart nginx
+  notify:
+    - validate nginx configuration
+    - restart nginx
+