ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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




 




Copyright © Lexa Software, 1996-2009.