Преглед изворни кода

optional media cache with range requests support

pull/1759/head
boris runakov пре 3 година
родитељ
комит
8de54b3b51
3 измењених фајлова са 30 додато и 0 уклоњено
  1. +10
    -0
      roles/matrix-nginx-proxy/defaults/main.yml
  2. +1
    -0
      roles/matrix-nginx-proxy/tasks/setup_nginx_proxy.yml
  3. +19
    -0
      roles/matrix-nginx-proxy/templates/nginx/conf.d/matrix-synapse.conf.j2

+ 10
- 0
roles/matrix-nginx-proxy/defaults/main.yml Прегледај датотеку

@@ -557,6 +557,16 @@ matrix_nginx_proxy_synapse_media_repository_locations: []
matrix_nginx_proxy_synapse_user_dir_locations: [] matrix_nginx_proxy_synapse_user_dir_locations: []
matrix_nginx_proxy_synapse_frontend_proxy_locations: [] matrix_nginx_proxy_synapse_frontend_proxy_locations: []


# synapse content caching
matrix_nginx_proxy_synapse_cache_enabled: false
matrix_nginx_proxy_synapse_chache_path: "{{ matrix_nginx_proxy_base_path }}/data/cache"
matrix_nginx_proxy_synapse_cache_keys_zone_name: "STATIC"
matrix_nginx_proxy_synapse_cache_keys_zone_size: "10m"
matrix_nginx_proxy_synapse_cache_inactive_time: "48h"
matrix_nginx_proxy_synapse_cache_max_size: "1g"
matrix_nginx_proxy_synapse_cache_proxy_cache_valid_time: "24h"


# The amount of worker processes and connections # The amount of worker processes and connections
# Consider increasing these when you are expecting high amounts of traffic # Consider increasing these when you are expecting high amounts of traffic
# http://nginx.org/en/docs/ngx_core_module.html#worker_connections # http://nginx.org/en/docs/ngx_core_module.html#worker_connections


+ 1
- 0
roles/matrix-nginx-proxy/tasks/setup_nginx_proxy.yml Прегледај датотеку

@@ -21,6 +21,7 @@
- "{{ matrix_nginx_proxy_base_path }}" - "{{ matrix_nginx_proxy_base_path }}"
- "{{ matrix_nginx_proxy_data_path }}" - "{{ matrix_nginx_proxy_data_path }}"
- "{{ matrix_nginx_proxy_confd_path }}" - "{{ matrix_nginx_proxy_confd_path }}"
- "{{ matrix_nginx_proxy_synapse_chache_path }}"


- name: Ensure Matrix nginx-proxy configured (main config override) - name: Ensure Matrix nginx-proxy configured (main config override)
template: template:


+ 19
- 0
roles/matrix-nginx-proxy/templates/nginx/conf.d/matrix-synapse.conf.j2 Прегледај датотеку

@@ -5,6 +5,9 @@
{% set user_dir_workers = matrix_nginx_proxy_synapse_workers_list|selectattr('type', 'equalto', 'user_dir')|list %} {% set user_dir_workers = matrix_nginx_proxy_synapse_workers_list|selectattr('type', 'equalto', 'user_dir')|list %}
{% set frontend_proxy_workers = matrix_nginx_proxy_synapse_workers_list|selectattr('type', 'equalto', 'frontend_proxy')|list %} {% set frontend_proxy_workers = matrix_nginx_proxy_synapse_workers_list|selectattr('type', 'equalto', 'frontend_proxy')|list %}
{% if matrix_nginx_proxy_synapse_workers_enabled %} {% if matrix_nginx_proxy_synapse_workers_enabled %}
{% if matrix_nginx_proxy_synapse_cache_enabled %}
proxy_cache_path {{ matrix_nginx_proxy_synapse_chache_path }} levels=1:2 keys_zone={{ matrix_nginx_proxy_synapse_cache_keys_zone_name }}:{{ matrix_nginx_proxy_synapse_cache_keys_zone_size }} inactive={{ matrix_nginx_proxy_synapse_cache_inactive_time }} max_size={{ matrix_nginx_proxy_synapse_cache_max_size }};
{% endif %}
# Round Robin "upstream" pools for workers # Round Robin "upstream" pools for workers


{% if generic_workers %} {% if generic_workers %}
@@ -95,6 +98,14 @@ server {
client_body_buffer_size 25M; client_body_buffer_size 25M;
client_max_body_size {{ matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size_mb }}M; client_max_body_size {{ matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size_mb }}M;
proxy_max_temp_file_size 0; proxy_max_temp_file_size 0;

{% if matrix_nginx_proxy_synapse_cache_enabled %}
proxy_buffering on;
proxy_cache {{ matrix_nginx_proxy_synapse_cache_keys_zone_name }};
proxy_cache_valid any {{ matrix_nginx_proxy_synapse_cache_proxy_cache_valid_time }};
proxy_force_ranges on;
add_header X-Cache-Status $upstream_cache_status;
{% endif %}
} }
{% endfor %} {% endfor %}
{% endif %} {% endif %}
@@ -227,6 +238,14 @@ server {
client_body_buffer_size 25M; client_body_buffer_size 25M;
client_max_body_size {{ matrix_nginx_proxy_proxy_matrix_federation_api_client_max_body_size_mb }}M; client_max_body_size {{ matrix_nginx_proxy_proxy_matrix_federation_api_client_max_body_size_mb }}M;
proxy_max_temp_file_size 0; proxy_max_temp_file_size 0;

{% if matrix_nginx_proxy_synapse_cache_enabled %}
proxy_buffering on;
proxy_cache {{ matrix_nginx_proxy_synapse_cache_keys_zone_name }};
proxy_cache_valid any {{ matrix_nginx_proxy_synapse_cache_proxy_cache_valid_time }};
proxy_force_ranges on;
add_header X-Cache-Status $upstream_cache_status;
{% endif %}
} }
{% endfor %} {% endfor %}
{% endif %} {% endif %}


Loading…
Откажи
Сачувај