Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: upload напрямую через apache а download уже через nginx
- To: Nick <nginx-ru@xxxxxxxxx>
- Subject: Re: upload напрямую через apache а download уже через nginx
- From: Gena Makhomed <gmm@xxxxxxxxx>
- Date: Sat, 20 Sep 2008 17:03:02 +0300
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csdoc.com; s=dkim; t=1221919446; bh=X+8yhfleFouvBLAaJ+7l+kpGmRAkyIWzWxrSXAjQn7w=; h=Date:From:X-Mailer:X-Priority:Message-ID:To:Subject:In-Reply-To: References:MIME-Version:Content-Type:Content-Transfer-Encoding; b=ORY/BwQSDePjJu0lwox6hL/E6dKQ6oqMMwlwX+sHMWcIp94nbw6IU8Op3hsZdtyje 7Smu5aNHdeutShc1VEIpGWFFTTzVFsYVhYTk9LsMs5uELVA28EYhwb/Jsz5KLHuOXAE +92A+nm0FlaNxygEe9YrsZPdFDRqArF8K57Dqcw=
- In-reply-to: <48D4E567.8070902@xxxxxxxxxxxx>
- References: <48D4E567.8070902@xxxxxxxxxxxx>
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
|