Отдача файлов

12
Сергей Антонов
На сайте с 03.01.2017
Offline
11
711

Здравствуйте, с удаленного сервера отдаются файлы пользователям, только при этом куча процессов апача зависают. может кто подскажет как это реализовать через X-Accel-Redirect ?

$file='http://site.ru/files/be/e8/rolik.mp4';

$h = get_headers($file, 1);

if (ob_get_level())

ob_end_clean();

header('Content-Type: video/mp4');

header('Content-Disposition: attachment; filename=' . $_SERVER['HTTP_HOST'] . '_' . $name . '.mp4');

header('Content-Length: ' . $h['Content-Length']);

readfile($file) . exit;

***site.ru и сами файлы на удаленном сервере

LEOnidUKG
На сайте с 25.11.2006
Online
1723
#1
readfile($file)

Удалённого файла read?! Не рекомендую

Может вам просто проксирование сделать и всё? На уровне nginx например или apache

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
Сергей Антонов
На сайте с 03.01.2017
Offline
11
#2
LEOnidUKG:
Удалённого файла read?!

наверное, получается с site.ru транслирую файлы ($file) через буфер на site2.ru

LEOnidUKG
На сайте с 25.11.2006
Online
1723
#3

Так зависают то в каком смысле? G состояние или активное?

Попробуйте через nginx раздавать, у него с этим полегче.

Сергей Антонов
На сайте с 03.01.2017
Offline
11
#4
LEOnidUKG:
Так зависают то в каком смысле? G состояние или активное?
Попробуйте через nginx раздавать, у него с этим полегче.

нет, активные, их просто много:

WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

WWWWWWWWWWWWWWWWWWWWCWWWWWWWWWWWWWWWWWWWWWWWWWWWWW_WWWWCWWWWWW_W

WWWWWW_WWWWWWWWWWWWWWCWWWWWWWWWWWWWWWWWWCWWWWWWWWWWW_WWWWWWWWWWW

так вот, суть вопроса и была как их через nginx раздавать)

LEOnidUKG
На сайте с 25.11.2006
Online
1723
#5
Сергей Антонов
На сайте с 03.01.2017
Offline
11
#6

спасибо, но перед созданием темы поисковик посещал, то что мне нужно так и не нашел или не разобрал, все примеры с X-Accel-Redirect с учетом того что файлы хранятся на сервере с которого собираешься раздавать..

LEOnidUKG
На сайте с 25.11.2006
Online
1723
#7

А сервер вообще вам подконтролен? Он просто может вас по IP банить и всё. Не давая столько много подключений с одно IP

Сергей Антонов
На сайте с 03.01.2017
Offline
11
#8
LEOnidUKG:
А сервер вообще вам подконтролен? Он просто может вас по IP банить и всё. Не давая столько много подключений с одно IP

нет, не подконтрольный, айпи не банят, все стабильно работает, нужно только апач разгрузить

LEOnidUKG
На сайте с 25.11.2006
Online
1723
#9

А как разгрузить, если у вас столько народа то? Это надо кэш файлов делать и часть раздавать со своего сервера.

У вас случаем ignore_user_abort не true установлен? Если да, то переведите в false для вашего скрипта.

Раздача видео это не такая простая задача как кажется.

Сергей Антонов
На сайте с 03.01.2017
Offline
11
#10
LEOnidUKG:
А как разгрузить, если у вас столько народа то? Это надо кэш файлов делать и часть раздавать со своего сервера.

У вас случаем ignore_user_abort не true установлен? Если да, то переведите в false для вашего скрипта.

Раздача видео это не такая простая задача как кажется.

параметр ignore_user_abort не выставлял, принудительно поставил false, часть файлов загружу на сервер, на все диска не хватит(

через x-accel-redirect можно таким образом транслировать/раздавать ?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий