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

Andrew Kopeyko kaa на zvuki.ru
Ср Ноя 25 15:54:53 MSK 2009


Peter A. Shevtsov wrote:
> В конфиге следующее:
> 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;
>     }
> }

Подозреваю, что это далеко не весь конфиг - в приведённом куске нет 
никаких намёков на упоминаемый вами fast-cgi.

Пожалуйста, приведите полный конфиг виртуального сервера.

> Скрипт /wp-content/blogs.php раздаёт файлы из директории wp-content/blogs.dir/
> 
> Для кого надо писать отдельный location, чтобы отдавать x-accel-redirect?

Повторюсь - запросы на
   /files/19970604_Proses_mirivozzrencheskix_transformatsiy.pdf
не должны уходить на upstream
   "fastcgi://unix:/var/lib/php/php-fpm.sock:",


> 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 мегабайта и
>>>> всё. Как настроить, чтобы можно было отдавать больше контента?
>>>>
>>>> Спасибо.
>>>>


-- 
Best regards,
Andrew A. Kopeyko <kaa at zvuki.ru>
http://www.zvuki.ru/



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