gzip static и автообновление .gz файлов

NT Man nginx-forum на nginx.us
Пт Ноя 27 05:44:06 UTC 2015


Вобщем делаю автоминификацию и сжатие при первом обращении к статическим
файлам js и css

вот конфиг nginx

server {
   if ($request_method !~ ^(GET|POST)$ ) {
      return 444;
   }

    listen      80;
    listen      [::]:80;
    server_name minify.sy24.ru;
    root /home/synergy-demo/www/minify;

    error_log   /home/synergy-demo/logs/nginx_error_minify.log;
    access_log  /home/synergy-demo/logs/nginx_access_minify.log;

   #pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
   location ~* \.(css|js)$ {
      expires max;
      gzip off;
      gzip_static on;

      include fastcgi_params;
      fastcgi_param SCRIPT_FILENAME
/home/synergy-demo/www/minify/nginx-minification.php;
      
      if (!-f $request_filename.gz) {
         fastcgi_pass    unix:/var/run/php-fpm/synergy-demo.sock;
      }
   }
}

это даже работает т.е. если нет .gz для запрашиваемого файла запускается php
скрипт nginx-minification.php, который делает gz файл и последующий запрос
уже летит минуя .php

хочется доработать чтобы .gz файлы обновлялись если дата оригинального файла
свежее файла .gz.
первое что насторожило это то что nginx продолжает отдавать .gz файл даже
если дате его изменения старше чем у оригинального файла.

$ ls -la
total 68
drwxrwx--- 2 synergy-demo synergy-demo  4096 Nov 27 10:23 .
drwxrwx--- 4 synergy-demo synergy-demo  4096 Aug 15 12:56 ..
-rw-rw-r-- 1 synergy-demo synergy-demo 55839 Nov 27 10:40 main.js
-rw-r--r-- 1 synergy-demo synergy-demo    29 Nov 27 10:23 main.js.gz

тут всеравно отдается main.js.gz странно может быть это баг поправьте меня
пожалуйста.

второй момент если это починят, то условие  if (!-f $request_filename.gz) 
надо изменить таким образом чтоб оно знало какой файл собирается отдавать
nginx, если .gz, то ничего не делаем, если оригинальный, то запустить надо
php скрипт.

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,263112,263112#msg-263112



Подробная информация о списке рассылки nginx-ru