upload + fastcgi = cache?
wasiliy
nginx-forum at nginx.us
Tue Nov 10 00:35:21 MSK 2009
есть конфиг 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
More information about the nginx-ru
mailing list