Welcome! Log In Create A New Profile

Advanced

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

Andrew Kopeyko
November 26, 2009 03:06AM
Peter A. Shevtsov wrote:
> server {
> if ($host ~* www\.(.*)) {
> set $host_without_www $1;
> rewrite ^(.*)$ http://$host_without_www$1 permanent;
> }
>
> if ($host !~* www\.(.*)) {
> set $host_without_www $host;
> }
>
> if ($host !~*
> ^(mera.com.ru|www.mera.com.ru|m3ra.ru|www.m3ra.ru|mhra.ru|www.mhra.ru|mhera.ru|www.mhera.ru|time-to-live.net.ru|www.time-to-live.net.ru|dotu.ru|www.dotu.ru)$
> ) {
> return 444;
> }
>
> access_log /var/log/nginx/$host_without_www.access.log main;
> error_log /var/log/nginx/wpmu.error.log info;
>
> root /var/www/html/default;
> limit_conn myzone 5;
> listen 80;
> server_name mera.com.ru www.mera.com.ru m3ra.ru www.m3ra.ru
> mhra.ru www.mhra.ru mhera.ru www.mhera.ru time-to-live.net.ru
> www.time-to-live.net.ru dotu.ru www.dotu.ru;
> client_max_body_size 40m;

Да вы, батенька, извращенец!

Сделайте нескольки виртуальный серверов, например
server {
listen 80 default;
server_name fake.default.host;
return 444;
}
server {
listen 80;
server_name mera.com.ru www.mera.com.ru ; # и все прочие ваши имена
...;
}
и вы избавитесь от ужасающей логики
if ($host ~* www\.(.*)) {
set $host_without_www $1;
rewrite ^(.*)$ http://$host_without_www$1 permanent;
}
if ($host !~* www\.(.*)) {
set $host_without_www $host;
}

>
> 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;
> }
> }

добавьте
location /files/ {
internal;
root ...;
}

> location = /favicon.ico {
> return 204;
> }
>
> location ~ \.php$ {
> include fastcgi_params;
> fastcgi_pass unix:/var/lib/php/php-fpm.sock;
> fastcgi_index index.php;
> fastcgi_read_timeout 600;
> fastcgi_intercept_errors on;
> }
>
> # deny access to .htaccess files, if Apache's document root
> # concurs with nginx's one
> #
> location ~ /\.ht {
> deny all;
> }
> }
>
> 25 ноября 2009 г. 18:54 пользователь Andrew Kopeyko <kaa@zvuki.ru> написал:
>> 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@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@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@zvuki.ru>
>> http://www.zvuki.ru/
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru@nginx.org
>> http://nginx.org/mailman/listinfo/nginx-ru
>>
>
>
>


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

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

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

Пётр Шевцов November 25, 2009 04:02AM

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

Alexandr Kutuzov November 25, 2009 04:16AM

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

Alex, the Marrch Ca'at November 25, 2009 04:30AM

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

Igor Sysoev November 25, 2009 04:36AM

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

Alex, the Marrch Ca'at November 27, 2009 04:46AM

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

Peter A. Shevtsov November 25, 2009 07:08AM

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

Andrew Kopeyko November 25, 2009 07:26AM

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

Peter A. Shevtsov November 25, 2009 07:40AM

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

Andrew Kopeyko November 25, 2009 07:56AM

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

Peter A. Shevtsov November 26, 2009 01:56AM

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

Andrew Kopeyko November 26, 2009 03:06AM

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

Peter A. Shevtsov November 26, 2009 03:32AM

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

Stroganov Ilya November 26, 2009 04:50AM

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

Andrew Kopeyko November 26, 2009 08:28AM

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

Igor Sysoev November 26, 2009 12:24PM

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

Peter A. Shevtsov November 27, 2009 05:00AM

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

Igor Sysoev November 27, 2009 06:42AM

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

Peter A. Shevtsov November 27, 2009 07:30AM

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

Maxim Dounin November 27, 2009 08:10AM

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

Peter A. Shevtsov November 29, 2009 06:52AM

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

Maxim Dounin November 29, 2009 08:36AM

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

Igor Sysoev November 29, 2009 08:52AM

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

Igor Sysoev November 29, 2009 09:42AM

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

Maxim Dounin November 29, 2009 10:26AM

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

Igor Sysoev November 29, 2009 10:30AM

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

Igor Sysoev November 29, 2009 10:38AM

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

Maxim Dounin November 29, 2009 11:06AM

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

Igor Sysoev November 29, 2009 11:24AM

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

Maxim Dounin November 29, 2009 02:22PM

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

Alex, the Marrch Ca'at November 30, 2009 04:38AM

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

Igor Sysoev November 30, 2009 05:58AM

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

Maxim Dounin November 29, 2009 10:48AM

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

Maxim Dounin November 29, 2009 10:04AM

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

Igor Sysoev November 29, 2009 10:14AM

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

Maxim Dounin November 29, 2009 10:38AM

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

Peter A. Shevtsov December 01, 2009 06:40AM

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

Igor Sysoev December 01, 2009 06:48AM

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

Peter A. Shevtsov December 01, 2009 07:26AM

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

Igor Sysoev December 01, 2009 07:34AM

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

Peter A. Shevtsov December 01, 2009 07:48AM

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

Igor Sysoev December 01, 2009 07:54AM

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

Peter A. Shevtsov December 01, 2009 08:04AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 99
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready