Re: Re[2]: nginx для отдачи больших файлов
Борис Долгов
boris at dolgov.name
Mon Feb 23 22:22:59 MSK 2009
А для files location'a нету. Он все равно проксирует на апач. Нужно дописать
что-то типа
location /files {
internal;
root корневая_папка;
}
23 февраля 2009 г. 21:08 пользователь shaman <shaman712 at inbox.ru> написал:
> Здравствуйте.
>
> Файл отдается так: сначала идет обращение к скрипту, который делает
> все необходимые проверки и потом выдает такое:
>
> header('Content-Type: application/octet-stream');
> header('Content-Disposition: attachment; filename="'.$filename . '";');
> header("X-Accel-Redirect: /files/" . $filename);
>
> Т.е. выполняется редирект на nginx, который и отдает файл. Я, надеюсь,
> правильно делаю? :)
>
> > Судя по конфигурационному файлу, вы все запросы прокачиваете через апач?
> А напрямую отдавать
> > самим nginx`ом эти самый файлы например
> > http://blog.kovyrin.net/2006/11/01/nginx-x-accel-redirect-php-rails/ ?
>
> >> Система FreeBSD 7, 4 Гб RAM.
> >> nginx нужно использовать для отправки файлов самого разного размера: от
> 2-3 кб до 2-3 гб.
> >> Пытался подобрать оптимальный конфиг, но не очень получается.
> >> Вот, что у меня на данный момент:
>
>
> >> user www www;
> >> worker_processes 1;
>
> >> worker_rlimit_nofile 10240;
> >> worker_rlimit_sigpending 32768;
> >> worker_priority 5;
>
> >> error_log /.../nginx_error_log info;
>
> >> events {
> >> worker_connections 20480;
> >> use kqueue;
> >> }
>
> >> http {
> >> default_type application/octet-stream;
>
> >> log_format main
> >> '$remote_addr - $remote_user [$time_local] '
> >> '"$request" $status $bytes_sent '
> >> '"$http_referer" "$http_user_agent" '
> >> '"$gzip_ratio"';
>
>
>
> >> access_log /.../nginx_access_log main;
>
>
>
>
> >> client_header_timeout 60;
> >> client_body_timeout 60;
> >> send_timeout 120;
> >> proxy_read_timeout 180;
> >> proxy_connect_timeout 60;
> >> proxy_send_timeout 180;
>
>
> >> msie_padding on;
>
> >> proxy_buffer_size 32k;
>
> >> proxy_buffers 64 512k;
> >> proxy_busy_buffers_size 1024k;
> >> proxy_temp_file_write_size 1024k;
>
> >> gzip on;
> >> gzip_min_length 10240;
> >> gzip_buffers 32 64k;
> >> gzip_types text/html application/x-javascript text/css
> text/xml
> >> text/plain;
>
> >> client_header_buffer_size 4k;
> >> client_max_body_size 120000000;
> >> large_client_header_buffers 16 8k;
>
> >> sendfile on;
> >> tcp_nopush on;
> >> tcp_nodelay on;
>
> >> output_buffers 32 256k;
> >> postpone_output 1460;
>
> >> lingering_time 30;
> >> lingering_timeout 6;
> >> reset_timedout_connection on;
>
> >> keepalive_timeout 20;
> >> optimize_server_names on;
>
> >> index index.html;
>
> >> server {
> >> listen ххх.ххх.ххх.ххх:80;
> >> server_name ххх;
> >> location / {
>
> >> proxy_pass http://127.0.0.1:81/;
> >> proxy_redirect off;
> >> proxy_set_header Host $host;
> >> proxy_set_header X-Real-IP $remote_addr;
> >> }
> >> }
> >> }
>
>
> >> Но проблемы следующие:
> >> - большие паузы перед отдачей файла (сразу после старта сервера
> >> отдает сразу же, через некоторое время начинаются приличные паузы).
> >> - непонятная скорость отдачи файлов. файлы отдаются рывками,
> >> скорость иногда запредельно низкая (10-15 Кб/с, когда нормальная 300-500
> Кб/с).
>
> >> Какие настройки нужно менять и где крутить?
> >> Спасибо!
>
>
>
>
>
>
>
>
>
>
>
> --
> С уважением,
> shaman mailto:shaman712 at inbox.ru
>
>
>
--
С уважением, Борис Долгов.
icq 77556665
e-mail boris at dolgov.name
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090223/87bb3ccc/attachment.html>
More information about the nginx-ru
mailing list