November 27, 2015 12:44AM
Вобщем делаю автоминификацию и сжатие при первом обращении к статическим файлам 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 скрипт.
Subject Author Posted

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

NT Man November 27, 2015 12:44AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 185
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready