Я использую (на файловой системе) статические html-файлы для кеширования, по некоторым причинам мне это не нравится.Я хочу хранить файлы кэша (HTML, изображения) в базе данных.
Теперь все работает так:
if nginx can get cache:
return cache to user
else
proxy_pass request to backend server
В моем конфигурационном файле Nginx это выглядит так:
if (-f $cache_dir_prefix/$query) {
rewrite (.*) $query break;
}
if (!-f $cache_dir_prefix/$query) {
proxy_pass http://lionyzer;
break;
}
Можно выполнить проверку IF с помощью GridFS или Amazon S3или Mysql или что-то еще?
Большое спасибо
И ОТВЕТ
location /assets/ {
gridfs assets field=filename type=string;
mongo 127.0.0.1:27017;
error_page 404 = @scale;
}
location @scale {
include fastcgi.conf;
fastcgi_pass unix:/tmp/php-fpm;
fastcgi_param SCRIPT_FILENAME scaleme.php;
}