#nginx #gridfs
#nginx #gridfs
Вопрос:
Я использую (на основе файловой системы) статические 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;
}
Комментарии:
1. Здесь есть еще один хороший ответ github.com/mdirolf/nginx-gridfs/issues/10
Ответ №1:
Вы можете использовать nginx-gridfs
модуль для обслуживания файлов GridFS непосредственно из Nginx, а затем перехватить 404 для файлов, которые не найдены, и перенаправить их на другой сервер.