Страница 1 из 1

Кеширование сжатых файлов

Добавлено: 13.11.2013 14:40
Shredder
Например, мне нужно сжать файл с помощью gzip, а потом средствами движка положить его в кеш. Возможно ли это? Не будет ли глюков? И если да, то каким образом это лучше сделать?

Re: Кеширование сжатых файлов

Добавлено: 13.11.2013 14:53
Pazh
в файле includes/acp/acp_database.php есть пример этой реализации - сжатие и сохранение бекапа в папке store

Re: Кеширование сжатых файлов

Добавлено: 13.11.2013 14:59
Shredder
Pazh
Посмотрел - там вроде просто сжатие. А я имел в виду именно сжать и затем положить в кеш с помощью $cache->put. Это нужно для того, чтобы закешировать на определённое время и по прошествии этого времени вновь пересоздать сжатый файл. Иначе придётся использовать крон, а это не слишком удобно.

Re: Кеширование сжатых файлов

Добавлено: 13.11.2013 15:56
Pazh
функция obtain_hooks() пример сохранения файла в $cache. По аналогии заархивируй, а потом положи в cache

Re: Кеширование сжатых файлов

Добавлено: 07.11.2014 14:54
Gisher
Не совсем по теме, не хочется создавать новую тему.
Как включить кеширование nginx для файла стилей /style.php?id=1&lang=ru?

Код: Выделить всё

location ~* ^.+\.(css|js|jpg|jpeg|gif|png|svg|swf|cur)$ {
        root       $root_path;
        expires    max;
        access_log    off;
}

Код: Выделить всё

location ~* \.(css|js|jpg|jpeg|gif|png|svg|swf|cur)$ {
        root       $root_path;
        expires    max;
        access_log    off;
}
Файл определяется как css, но правила для него не работают.

Re: Кеширование сжатых файлов

Добавлено: 07.11.2014 15:06
владимир1983
Добавь в директиву http или прям в локацию для домена

Код: Выделить всё

	open_file_cache          max=2000 inactive=20s;
	open_file_cache_valid    60s;
	open_file_cache_min_uses 5;
	open_file_cache_errors   off;
Добавлено спустя 41 секунду:
http://nginx.org/ru/docs/http/ngx_http_ ... file_cache

Re: Кеширование сжатых файлов

Добавлено: 07.11.2014 15:23
Gisher
владимир1983 не помогло

Код: Выделить всё

location ~ \.php$ {
        fastcgi_pass                 127.0.0.1:9000;
        include                      fastcgi_params;
        fastcgi_intercept_errors     on;
        fastcgi_index                portal.php;
        client_max_body_size         20m;
        client_body_buffer_size      256k;
        fastcgi_connect_timeout      360;
        fastcgi_send_timeout         60;
        fastcgi_read_timeout         180;
        fastcgi_buffers              32 256k;
        fastcgi_buffer_size          128k;
        fastcgi_busy_buffers_size    256k;
        fastcgi_temp_file_write_size 512k;
        fastcgi_param                SCRIPT_FILENAME $root_path$fastcgi_script_name;
        fastcgi_param                REMOTE_ADDR     $http_x_real_ip;
        fastcgi_param                REQUEST_URI     $http_x_real_request_uri;
        open_file_cache          max=2000 inactive=20s;
        open_file_cache_valid    60s;
        open_file_cache_min_uses 5;
        open_file_cache_errors   off; 
}
Снимок.JPG
Добавлено спустя 8 минут 48 секунд:
Пробовал добавить и в http секцию, тоже самое

Re: Кеширование сжатых файлов

Добавлено: 07.11.2014 15:36
владимир1983
Покажи весь конфиг.

Добавлено спустя 52 секунды:
Gisher писал(а):location ~ \.php$ {
Надо бы тут
Gisher писал(а):location ~* \.(css|js|jpg|jpeg|gif|png|svg|swf|cur)$ {
Добавлено спустя 2 минуты 16 секунд:
Gisher писал(а):fastcgi
Почитай https://www.digitalocean.com/community/ ... n-your-vps

Re: Кеширование сжатых файлов

Добавлено: 07.11.2014 15:42
Gisher
владимир1983 писал(а):Надо бы тут

Gisher писал(а):location ~* \.(css|js|jpg|jpeg|gif|png|svg|swf|cur)$ {
не помогло

Добавлено спустя 27 минут 59 секунд:
Прочитал, поэкспериментировал, сразу с первого теста nginx начинается ругатся.
В любом случае, спасибо за отклик.