Re: nginx + php5 + php-fpm через /tmp/php-fpm.sock

Maxim Dounin mdounin на mdounin.ru
Пн Июл 5 14:27:34 MSD 2010


Hello!

On Fri, Jul 02, 2010 at 07:40:26PM +0400, temp temp wrote:

> При переключении fastcgi с tcp коннекта (fastcgi_pass 127.0.0.1:9000;) на
> сокеты (fastcgi_pass unix:/tmp/php-fpm.sock;) и появилась проблема... При
> загрузке файлов иногда (!) стала выдаваться 413 ошибка... в логах получаем
> следующее:

[...]

> 2010/06/27 11:06:49 [error] 44922#0: *310300 upstream timed out (60:
> Operation timed out) while sending request to upstream, client:
> 111.77.222.111, server: domain.ru, request: "POST /main/saveTracks/?id=1261
> HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-fpm.sock:", host: "domain.ru"
> 2010/06/27 11:06:49 [error] 44922#0: *310300 client intended to send too
> large body: 8364210 bytes, client: 111.77.222.111, server: domain.ru,
> request: "POST /main/saveTracks/?id=1261 HTTP/1.1", upstream:
> "fastcgi://unix:/tmp/php-fpm.sock:", host: "domain.ru"

Видно следующее:

Бекенд сдох, nginx пошёл отдавать 502 ошибку.  502'я ошибка, судя 
по всему, переопределена, однако обрабатывается в location'е, в 
котором client_max_body_size меньше чем клиент прислал POST'ом.  В 
результате имеем ошибку 413.

[...]

> location ~ \.php$ {
> try_files $uri $uri/ =404;
> client_max_body_size 50m;

Вот такой же client_max_body_size поставьте и для страниц ошибок - 
будете видеть нормальную 502'ю ошибку.

Почему дохнет бекенд - это совсем отдельный вопрос, вероятно 
перегружен.  Да и этот вопрос имеет мало отношения к данной 
рассылке.

Maxim Dounin



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