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