Re: upload напрямую через apache а download уже через nginx

Gena Makhomed gmm at csdoc.com
Sat Sep 20 18:03:02 MSD 2008


On Saturday, September 20, 2008 at 14:58:31, Nick wrote:

N> тоесть суть проблема залючаеться в том :) что при апдлоде :)
N> нгинкс как-то хитро буферит к себе файл,и только после
N> того как получить весь файл передает уже апачу :)

если файл будет принимать сам ahache - в этом случае 1 ahache child
будет слишком много времени занят только приемом 1 файла от 1 клиета.

N> и проблема заключаеться в том если файл большой, например фильм, нгинксу
N> нужно некоторое время чтоб положить єтот файл в темповую папку пхп,

в папку upload_tmp_dir для php файл кладет apache, а не nginx.
nginx по умолчанию взаимодействует с apache только по http протоколу.

N> где скрипт уже своей функции с темпяка перенесет в нужнуя папаку,
N> вернее скопирует, один выход пока это только увеличит таймаут
N> срабатывание скрипта но это не всегда приемлимо :)
N> так как время может занимать и 30 секунд...

N> как быть ?

1. если apache и nginx на одной машине - прописать client_body_in_file_only on
в конфигурации nginx, в этом случае принятый файл не будет передаваться apache
по http, вместо содержимого файла надо будет передавать только полный путь к нему
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#client_body_in_file_only
но в этом случае у php должен быть r/w доступ к папке с временными файлами nginx`а.

2. вместо copy+delete использовать move.
это будет работать гораздо быстрее в пределах одной файловой системы.

-- 
Best regards,
 Gena






More information about the nginx-ru mailing list