ПРОЕКТЫ 


  АРХИВ 


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]

upload + fastcgi = cache?



есть конфиг nginx:
worker_processes  5;
worker_rlimit_nofile 65535;

events {
    use epoll;
    worker_connections  10240;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    charset UTF-8;

    access_log off;
    sendfile on;
    server_names_hash_bucket_size 64;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 15;

    gzip on;
    gzip_min_length 1024;
    gzip_buffers 12 32k;
    gzip_types application/xml text/css application/x-javascript;

    client_header_buffer_size 4k;
    large_client_header_buffers 4 4k;
    output_buffers 4 32k;

..... (описание виртуальных серверов) ....

        location / {
            fastcgi_pass   localhost:8867;
            fastcgi_index  index.html;
            include        fastcgi_params;
            keepalive_timeout 0;
        }


+ есть стандартная форма аплоада файлов:





При отправке запроса - обработчиком выступает perl скрипт с FCGI + 
FCGI::ProcManager

Файлы через форму отправляются громадные (2-3 Гб, например).
Перл скрипт читает из STDIN до CONTENT_LENGTH


Проблемы собственно две:
1. Когда файл большой - аплоадинг просто прекращается через определенное время 
(примерно 20-30 секунд после старта) - как этого избежать?
2. Когда файл маленький (успевает закачаться за этот период) - все равно 
сначала nginx полностью получает его, а только после этого передает fastcgi 
скрипту. Надо, чтобы скрипт получал контент по мере отправки его клиентом (для 
реализации прогрессбара). Как это можно реализовать?

Заранее благодарен за ответы.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,21634,21634#msg-21634




 




Copyright © Lexa Software, 1996-2009.