diff --git a/defaults/main.yml b/defaults/main.yml index 4cae7d463525726872fad309e7a366c48dad1676..2ddaf20d125f977b4ded49a94899b066e750a4e6 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -12,6 +12,7 @@ nginx: vhosts: {} streams: {} maps: {} + caches: {} resolver: - 8.8.8.8 - 8.8.4.4 @@ -57,6 +58,11 @@ nginx_streams_defaults: proxy_connect_timeout: "2s" proxy_next_upstream_tries: 2 +nginx_caches_defaults: + keys_zone_size: "10m" + cache_size: "1g" + inactive_time: "10m" + nginx_forcessl_vhost: "https-redirect": listen: diff --git a/tasks/main.yml b/tasks/main.yml index 3f3dd30d2b8570303a1011bb06d0da33dcec7f8d..043be4c2ec1dbae1eb03cc203864e696ae6f3df3 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -42,6 +42,15 @@ notify: - restart nginx +- name: create cache directories + with_dict: "{{ nginx.caches }}" + file: + path: "/var/cache/nginx/{{ item.key }}" + state: directory + mode: '0755' + owner: www-data + recurse: True + - name: execute ssl template template: src: ssl_files.conf.j2 @@ -58,6 +67,7 @@ - upstreams.conf - proxy.conf - maps.conf + - caches.conf template: src: "{{ item }}.j2" dest: "/etc/nginx/conf.d/{{ item }}" diff --git a/templates/caches.conf.j2 b/templates/caches.conf.j2 new file mode 100644 index 0000000000000000000000000000000000000000..12dee1741a63b102bc12cfbc9b8a5e9b905bdf7c --- /dev/null +++ b/templates/caches.conf.j2 @@ -0,0 +1,6 @@ +{% for cache in nginx.caches %} +{% set c = {}|combine(nginx_caches_defaults, nginx.caches[cache], recursive=True) %} +# {{ cache }} +proxy_cache_path /var/cache/nginx/{{ cache }} levels=1:2 keys_zone={{ cache }}:{{ c.keys_zone_size }} max_size={{ c.cache_size }} inactive={{ c.inactive_time }} use_temp_path=off; + +{% endfor %} \ No newline at end of file