Windows Bash NGINX не завершает успешное действие PHP-FPM

Это очень странная проблема …

ОС: Windows 10
Конверт: Убунту Баш
Nginx: nginx / 1.10.3 (Ubuntu)
PHP: PHP 7.2.1-1 + ubuntu16.04.1 + deb.sury.org + 1

Когда я делаю тестирование непосредственно в PHP-FPM из CLI, ответ просто отлично.

лайк…

SCRIPT_NAME = / status SCRIPT_FILENAME = / status REQUEST_METHOD = GET
cgi-fcgi -bind -connect /run/php/php7.2-fpm.sock

подключиться к этой системе статуса https://easyengine.io/tutorials/php/fpm-status-page/

При запуске Nginx выдает эти ошибки в журнале

2018/06/24 15:08:45 [alert] 6772 # 6772: * 2 разъема № 15 оставлен в соединении 4

2016/06/24 15:08:45 [оповещение] 6772 # 6772: прерывание

Но если я подключусь к http://127.0.0.1/status чтобы проверить его (или любой локальный URL) … запрос зависает до 502. только с этими заголовками:

Подключение: keep-alive
Контент-кодировка: gzip
Content-Type: text / html; кодировка = UTF-8
Дата: вс, 24 июня 2018 22:17:13 GMT
Сервер: nginx / 1.10.3 (Ubuntu)
Передача-кодировка: чанки

и эта ошибка показывает в журнале nginx

2018/06/24 15:09:48 [ошибка] 6834 # 6834: * истекло время ожидания восходящего потока (110:
Время соединения истекло) при чтении в восходящем направлении, клиент: 127.0.0.1,
сервер: _, запрос: «GET / status HTTP / 1.1», восходящий поток:
«fastcgi: // unix: /run/php/php7.2-fpm.sock:», хост: «127.0.0.1»

Но если я убью службу PHP-FPM, пока она зависает, то ответ отлично отображается в браузере. Точно так же, как это делает прямой запрос CLI.

Остальная часть конфигурации nginx является настройками по умолчанию. Я использую sock для fpm, а не ip: port. Настройка ip: port не будет работать даже с целым рядом других проблем.

Очевидно, что FPM работает правильно … но по какой-то причине Nginx определенно не может определить, когда ответ завершил отправку, и Nginx просто зависает, ожидая, пока он не будет считаться завершенным, что никогда не происходит … поэтому страница не работает. Я обыскивал каждое полу-похожее решение, которое я могу найти в Интернете, и ничто не похоже на мою проблему; и их методы не работают для меня.

есть идеи? Спасибо!

0

Решение

Я исправил это, добавив следующее в http-блок в /etc/nginx/nginx.conf:

fastcgi_buffering off;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]