Назад | Перейти на главную страницу

Ошибка nginx recv () (104: сброс соединения одноранговым узлом) при чтении заголовка ответа из восходящего потока

Я недавно обновил свой Magento с 1.5 до 1.9, и когда я добавляю определенный продукт в корзину, я начинаю получать эту ошибку: 502 Неверный шлюз

В журнале не было записей var / log / папка:

Итак, я взглянул на свои ошибки nginx и нашел следующие записи в nginx-errors.log:

2015/04/09 10:58:03 [error] 15208#0: *3 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 46.xxx.xxx.xxx, server: dev.my-domain.co.uk, request: "POST /checkout/cart/add/uenc/aHR0cDovL2Rldi5zYWx2ZW8uY28udWsvdGludGktYmF0aC1wYWludGluZy1zb2FwLTcwbWwuaHRtbD9fX19TSUQ9VQ,,/product/15066/form_key/eYLc3lQ35BSrk6Pa/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fcgi-www-data.sock:", host: "dev.my-domain.co.uk", referrer: "http://dev.my-domain.co.uk/tinti-bath-painting-soap-70ml.html"
2015/04/09 11:04:42 [error] 15208#0: *13 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 46.xxx.xxx.xxx, server: dev.my-domain.co.uk, request: "POST /checkout/cart/add/uenc/aHR0cDovL2Rldi5zYWx2ZW8uY28udWsvdGludGktYmF0aC1wYWludGluZy1zb2FwLTcwbWwuaHRtbD9fX19TSUQ9VQ,,/product/15066/form_key/eYLc3lQ35BSrk6Pa/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fcgi-www-data.sock:", host: "dev.my-domain.co.uk", referrer: "http://dev.my-domain.co.uk/tinti-bath-painting-soap-70ml.html"
2015/04/09 11:05:03 [error] 15208#0: *16 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 46.xxx.xxx.xxx, server: dev.my-domain.co.uk, request: "POST /checkout/cart/add/uenc/aHR0cDovL2Rldi5zYWx2ZW8uY28udWsvdGludGktYmF0aC1wYWludGluZy1zb2FwLTcwbWwuaHRtbD9fX19TSUQ9VQ,,/product/15066/form_key/eYLc3lQ35BSrk6Pa/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fcgi-www-data.sock:", host: "dev.my-domain.co.uk", referrer: "http://dev.my-domain.co.uk/tinti-bath-painting-soap-70ml.html"
2015/04/09 11:12:07 [error] 15273#0: *1 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 46.xxx.xxx.xxx, server: dev.my-domain.co.uk, request: "POST /checkout/cart/add/uenc/aHR0cDovL2Rldi5zYWx2ZW8uY28udWsvdGludGktYmF0aC1wYWludGluZy1zb2FwLTcwbWwuaHRtbD9fX19TSUQ9VQ,,/product/15066/form_key/eYLc3lQ35BSrk6Pa/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fcgi-www-data.sock:", host: "dev.my-domain.co.uk", referrer: "http://dev.my-domain.co.uk/tinti-bath-painting-soap-70ml.html"

Я установил magento на собственный стек LEMP, вот конфигурации:

Эта ошибка возникает только тогда, когда я добавляю определенный продукт в корзину в моем обновленном Magento, и каждый раз, когда возникает ошибка, я вижу core.XXXXX файл (примерно 350 МБ) в public_html папка.

Есть идеи, почему мой php-fpm так падает? Как найти причину и исправить?

Вот последние записи на моем сервере Linux (CentOS), когда я запускаю dmesg команда:

php-fpm[14862]: segfault at 7fff38236ff8 ip 00000000005c02ba sp 00007fff38237000 error 6 in php-fpm[400000+325000]
php-fpm[15022]: segfault at 7fff38351ff0 ip 00000000005bf6e5 sp 00007fff38351fb0 error 6 in php-fpm[400000+325000]
php-fpm[15021]: segfault at 7fff38351ff0 ip 00000000005bf6e5 sp 00007fff38351fb0 error 6 in php-fpm[400000+325000]
php-fpm[15156]: segfault at 7fff38351ff0 ip 00000000005bf6e5 sp 00007fff38351fb0 error 6 in php-fpm[400000+325000]
php-fpm[15024]: segfault at 7fff38351ff0 ip 00000000005bf6e5 sp 00007fff38351fb0 error 6 in php-fpm[400000+325000]
php-fpm[15223]: segfault at 7fff8d1d5fd8 ip 00000000005c02ba sp 00007fff8d1d5fe0 error 6 in php-fpm[400000+325000]
php-fpm[15222]: segfault at 7fff8d1d5fd8 ip 00000000005c02ba sp 00007fff8d1d5fe0 error 6 in php-fpm[400000+325000]
php-fpm[15225]: segfault at 7fff8d1d5fd8 ip 00000000005c02ba sp 00007fff8d1d5fe0 error 6 in php-fpm[400000+325000]
php-fpm[15227]: segfault at 7fff8d1d5fd8 ip 00000000005c02ba sp 00007fff8d1d5fe0 error 6 in php-fpm[400000+325000]
php-fpm[15362]: segfault at 7fff3118afd0 ip 00000000005c0ace sp 00007fff3118afa0 error 6 in php-fpm[400000+325000]

Я проанализировал дамп ядра с помощью gdb, и вот что я вижу для первых двух кадров: http://pastebin.com/raw.php?i=aPvB1sWv (не имеет для меня особого смысла) ...

Такие ошибки обычно возникают, когда на сервере заканчиваются ресурсы, при условии, что вы используете самые последние стабильные версии `php5-fpm:

  1. Проверь это php5-fpm имеет достаточно памяти (нет oom-killer убивая процесс)
  2. На диске достаточно места
  3. Обязательно проверьте лимиты открытых файлов на сервере. Вас особенно интересует жесткий предел (-Hn):

    $ ulimit -Hn
    4096
    $ ulimit -Sn
    1024
    

    Проверить количество открытых файловых дескрипторов на сервере:

    sysctl fs.file-nr
    fs.file-nr = 1440       0       790328
    

    Современные серверы способны обрабатывать множество файлов, обычно ulimits установлены на ненужные низкие значения.

    Тогда проверьте nginx.conf, в начале есть что-то вроде:

    worker_processes 4;
    events {
      worker_connections 1024;
    }
    

    Если вы проксируете запрос для каждого соединения, вам понадобятся 2 дескриптора файлов. Это означает, что в случае большого количества подключений вы довольно быстро достигнете лимита.

    nginx имеет worker_rlimit_nofile директива для ограничения открытых файлов для каждого рабочего процесса (директива верхнего уровня, например worker_processes 4;):

    worker_rlimit_nofile    1024;
    

    Просто посчитайте и посчитайте, сколько открытых дескрипторов файлов вам понадобится при использовании всех соединений (немного крайний случай). Также рассмотрите все другие службы, работающие на этом сервере. когда