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