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