Я пытаюсь сохранить вывод fastcgi, но, похоже, получаю пустой вывод.
Если пользователь запрашивает файл вроде /thumbnail/someuniquefilename.jpg
и файл существует, он должен его просто обслуживать. Если он не существует, он должен получить его через fastcgi с пользовательской строкой запроса GET. Итак, у меня сейчас что-то вроде этого:
location ~ ^/thumbnail/ {
root /var/www/html;
expires 24h;
error_page 404 = @fetchthumbnail;
}
location @fetchthumbnail {
fastcgi_pass php;
fastcgi_store on;
fastcgi_store_access user:rw group:rw all:r;
fastcgi_temp_path /var/www/temp;
fastcgi_param SCRIPT_NAME /var/www/html/thumbnailer.php;
fastcgi_param QUERY_STRING src=/actual/path/$request_filename;
}
Но в результате у меня, кажется, появляется пустая страница.
Заголовки ответа:
Accept-Ranges:bytes
Cache-Control:max-age=86400
Connection:keep-alive
Content-Length:0
Content-Type:image/jpeg
Date:Sat, 29 Mar 2014 09:11:30 GMT
ETag:"53368d3d-0"
Expires:Sun, 30 Mar 2014 09:11:30 GMT
Last-Modified:Sat, 29 Mar 2014 09:07:09 GMT
Server:nginx/1.4.5
Я сделал несколько дополнительных тестов. И похоже, что thumbnailer.php на самом деле не запускается. Итак, пустой ответ.
Журналы ошибок показывают только то, что thumbnail/someuniquefilename.jpg
не был найден, поскольку его действительно не существует (или был удален после пробного использования).
Видимо это SCRIPT_FILENAME
не SCRIPT_NAME
.