Я сейчас вырываю свои волосы:
После обновления с Debian wheezy до jessie мы иногда получаем ошибки Apache mod_fcgid.
Текущая настройка:
Некоторые сайты Apache просто работают нормально, а на некоторых сайтах выдается приятная ошибка 500 после нескольких перезагрузок. Журнал Apache показывает
[fcgid: warn] [pid 23714] (104) Сброс соединения по пиру: [клиент 123.456.789.12:53191] mod_fcgid: ошибка чтения данных с сервера FastCGI [fcgid: warn] [pid 23714] (104) Сброс соединения по пиру: [клиент 123.456.789.12:53191] mod_fcgid: сбой ap_pass_brigade в функции handle_request_ipc
Странно то, что эта ошибка возникает только время от времени. Как пользователь, я могу просто перезагрузить страницу, и все снова в порядке.
Я знаю, что я не первый с этой ошибкой, и я попробовал несколько вещей, но ничего не помогло.
Что я уже сделал:
FcgidOutputBufferSize 0
в /etc/apache2/mods-available/fcgid.confPHP_FCGI_MAX_REQUESTS=99999
в скрипте-обёртке -> без разницы FcgidMaxRequestsPerProcess 500
в /etc/apache2/mods-available/fcgid.confFcgidMaxRequestsPerProcess
до 3600 в /etc/apache2/mods-available/fcgid.confЕсть идеи?
Заранее спасибо.
Мартин
Ненавижу это говорить, но обновление с одной версии Debian на другую (например, от Wheezy до Jessie) может быть грязным и не всегда работать идеально. Существует множество вещей, которые могут пойти не так и вызвать аномальное поведение.
В любом случае, я бы сделал здесь (что может работать или не сработало), чтобы сначала я посмотрел все пользовательские файлы конфигурации и скрипты, которые были у вас на компьютере до обновления, и выяснил, будут ли они работать в новой версии.
Далее, я хотел бы убедиться, что у меня есть список репозитория /etc/apt/sources.list
такие как:
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
deb http://ftp.us.debian.org/debian/ jessie-updates main contrib non-free
deb-src http://ftp.us.debian.org/debian/ jessie-updates main contrib non-free
deb http://ftp.debian.org/debian jessie-backports main contrib non-free
deb-src http://ftp.debian.org/debian jessie-backports main contrib non-free
После этого беги apt-get update
а затем запустите следующий код — ВАЖНЫЙ: следующий код может перезаписать пользовательские файлы конфигурации (если они есть) для ваших программ:
dpkg --force-confnew --configure -a
sleep 1
apt-get -y -o DPkg::options::="--force-confnew" install -f
sleep 1
dpkg --force-confnew --configure -a
sleep 1
apt-get -y update
sleep 1
apt-get -y -o DPkg::options::="--force-confnew" dist-upgrade
После этого, reboot
и проверьте, если проблема все еще присутствует.
Следующим шагом будет удалить (очистить) оба apache
а также php
пакеты (если это возможно для вас), а затем перезагрузите компьютер и заново установите их. Например:
apt-get -y --purge remove apache2 php5
reboot
apt-get -y install apache2 php5
После этого, reboot
и проверьте, если проблема все еще присутствует.
Если на этом этапе у вас все еще есть проблемы, я бы рассмотрел переустановку всей ОС с нуля. Я обновил многие машины Debian с одной версии на другую, и на слишком многих машинах было слишком много проблем, поэтому я больше не делаю этого, вместо этого я устанавливаю ОС с нуля.
Надеюсь, это поможет, удачи.
Мне удалось выяснить, что проблема существует только с некоторыми сайтами, особенно теми, которые используют ion Loader в сочетании с PHP. Вместо переустановки всей машины я с трудом переключил виртуальные хосты на PHP-FPM.
Теперь все работает нормально & так быстро
Ну, это не реальное решение этой проблемы, но, по крайней мере, хороший обходной путь …