Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re[2]: Умирают воркеры
> > По идее, php вообще здесь участвовать не должен. Все, что делает php, это
> > проверяет ключ доступа. Далее делается редирект на nginx для отдачи файла.
> >
> > В конфиге у меня прописано:
> >
> > location /files {
> > internal;
> > root /usr/local/www/apache22/data/sites/mysite/htdocs;
> > }
> >
> > а в скрипте после проверки доступа выполняется следующий код:
> >
> > header('Content-Type: application/octet-stream');
> > header('Content-Disposition: attachment; filename="' . $filename .
> > '";');
> > header("X-Accel-Redirect: /files/" . $filename);
> >
> > В таком случае (как я понимаю) php и apache при отдаче файла
> > задействоваться не должны.
> >
> Вы уверены, что у Вас этот локейшн работает? Судя по логу, у Вас
> файлообменник, и если Вы не правили движок, то там переменные немного
> другие. Проверить, работает ли у Вас локейшн можно путем установки
> ограничения в движке на скорость скачки файла, если ограничение будет
> выполнятся, локейшн у вас не работает.
Да, это файлообменник. Раньше файл отдавался через php, потом эта часть скрипта
была удалена и заменена на редирект к nginx-у путем заголовка X-Accel-Redirect.
Я так понимаю, этого достаточно, чтобы файл отдавался nginx-ом без дальнейшего
участия апача.
|