Отдача большого контента через fast_cgi

Peter A. Shevtsov mera на mera.com.ru
Ср Ноя 25 15:39:03 MSK 2009


В конфиге следующее:
location / {
    index  index.php;
    rewrite ^.*/files/(.*) /wp-content/blogs.php?file=$1;
    if (!-e $request_filename) {
        rewrite ^.+?(/wp-.*) $1 last;
        rewrite ^.+?(/.*\.php)$ $1 last;
        rewrite ^ /index.php last;
    }
}

Скрипт /wp-content/blogs.php раздаёт файлы из директории wp-content/blogs.dir/

Для кого надо писать отдельный location, чтобы отдавать x-accel-redirect?

25 ноября 2009 г. 18:24 пользователь Andrew Kopeyko <kaa at zvuki.ru> написал:
> On Wed, 25 Nov 2009, Peter A. Shevtsov wrote:
>
>> В предыдущем письме я не точно выразился. Скрипт не генерит файл, а
>> отдаеёт его через readfile(); Если это важно, то скрипт - blogs.php из
>> Wordpress MU для раздачи файлов. И он даже сам может посылать
>> заголовок x-accel-redirect. Но после "переключения" на
>> x-accel-redirect получаю ошибки:
>>
>> 2009/11/25 14:58:52 [error] 3989#0: *222 rewrite or internal
>> redirection cycle while processing "/wp-content/blogs.php", client:
>> 65.55.106.232, server: mera.com.ru, request: "GET
>> /files/19970604_Proses_mirivozzrencheskix_transformatsiy.pdf
>> HTTP/1.0", upstream: "fastcgi://unix:/var/lib/php/php-fpm.sock:",
>> host: "dotu.ru"
>
> Вероятно, и вас
>  /files/19970604_Proses_mirivozzrencheskix_transformatsiy.pdf
> тоже проксируется на fast-cgi.
> А для того, чтобы работал x-accel-redirect, оно должно отдаваться локально.
>
> Вам надо описать отдельный location для отдаваемых через x-accel-redirect
> файлов - и наступит вам счастье.
>
>
> 25 ноября 2009 г. 15:15 пользователь Alexandr Kutuzov
> <alleteam at gmail.com> написал:
>>
>> правильно отгружать в статику и отдавать x-accel-redirect на
>> сгенерированный
>> файл.
>>
>> 25.11.2009, в 12:01, Пётр Шевцов написал(а):
>>
>>> Приветствую!
>>>
>>> Дано следующее: nginx+fast_cgi+php-fpm. Есть PHP скрипт, который
>>> генерирует и отдаёт контент (pdf). Если размер отдаваемого контента
>>> больше ~3Мб, то файлы получаются битые, то есть отдаётся 3 мегабайта и
>>> всё. Как настроить, чтобы можно было отдавать больше контента?
>>>
>>> Спасибо.
>>>
>>> --
>>> Пётр Шевцов
>>> _______________________________________________
>>> nginx-ru mailing list
>>> nginx-ru at nginx.org
>>> http://nginx.org/mailman/listinfo/nginx-ru
>>
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru at nginx.org
>> http://nginx.org/mailman/listinfo/nginx-ru
>>
>
>
>
> --
> Пётр Шевцов
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>
> --
> Best regards,
> Andrew Kopeyko <kaa at zvuki.ru>
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>



-- 
Пётр Шевцов


Подробная информация о списке рассылки nginx-ru