Итак, проблема, с которой я сейчас сталкиваюсь, заключается в том, что NGINX в моей системе продолжает кэшировать огромные видеофайлы в памяти при выполнении HTTP-запроса. Это приводит к тому, что NGINX использует более 20 ГБ памяти, и мне приходится запускать синхронизировать; эхо 1 > /proc/sys/vm/drop_caches
(очистка кэша страниц) часто, чтобы остановить постоянный обмен. Я предоставил ниже соответствующую конфигурацию.
nginx.conf
расположение /защищено/ {
внутренний;
псевдоним /usr/share/nginx/html/videos/;
}
script.php
функция Скачать(){
глобальный $path, $fname;
$file = "$path/$fname";
header("Тип контента: видео/mp4");
заголовок ("Длина содержимого: " . Размер файла ($ файл));
header('Content-Disposition: вложение; filename="'.$fname.'"');
header("X-Accel-Redirect: /protected/$fname");
выход;
}
Что я пробовал в nginx.conf:
отправка файла выключена;
if_modified_since выключено;
истекает;
пометка выключена;
proxy_no_cache 1;
proxy_cache_bypass 1;
open_file_cache выключен;
P.S: Я рассчитываю использование памяти для этих файлов с помощью pcstat и fincore, эти файлы MP4 кэшируются на 100% при просмотре пользователем, и каждый имеет размер 5 ГБ+.