Я в настоящее время вытаскиваю свои волосы: после обновления от Debian wheezy до jessie мы иногда получаем ошибки Apache mod_fcgid.
Текущая настройка:
Некоторые из сайтов Apache просто работают нормально, и некоторые сайты представляют хорошую ошибку 500 после нескольких перезагрузок. Журнал Apache показывает
[fcgid: warn] [pid 23714] (104) Сброс соединения с помощью peer: [клиент 123.456.789.12:53191] mod_fcgid: ошибка чтения данных с сервера FastCGI
[fcgid: warn] [pid 23714] (104) Сброс соединения с помощью peer: [клиент 123.456.789.12:53191] mod_fcgid: ошибка ap_pass_brigade в функции handle_request_ipc
Странно, что эта ошибка возникает только время от времени. Как пользователь, я могу снова перезагрузить страницу, и все будет хорошо. Я знаю, что я не первый с этой ошибкой, и я пробовал несколько вещей до сих пор, но ничего не помогло.
Что я уже сделал:
FcgidOutputBufferSize 0
в /etc/apache2/mods-available/fcgid.conf -> Нет разницы PHP_FCGI_MAX_REQUESTS=99999
в сценарии оболочки -> Нет разницы FcgidMaxRequestsPerProcess 500
в /etc/apache2/mods-available/fcgid.conf -> Нет разницы FcgidMaxRequestsPerProcess
до 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
и проверьте, reboot
ли проблема.
Следующим шагом будет удаление (очистка) пакетов apache
и php
(если возможно для вас), а затем перезагрузка и повторная установка их снова. Например:
apt-get -y --purge remove apache2 php5 reboot apt-get -y install apache2 php5
После этого reboot
и проверьте, reboot
ли проблема.
Если на данный момент у вас все еще есть проблемы, я бы решил переустановить всю ОС с нуля. Я обновил многие машины Debian от версии до другой, и было слишком много проблем на слишком многих машинах, поэтому я больше этого не делаю, вместо этого я устанавливаю ОС с нуля.
Надеюсь, это поможет, удачи.
Мне удалось выяснить, что проблема существует только с некоторыми сайтами, особенно с использованием ионного загрузчика в сочетании с PHP. Вместо переустановки всей машины я переключил виртуальные хосты с трудностями на PHP-FPM.
Теперь все работает отлично и быстро. Ну, это не настоящее решение для этой проблемы, но, по крайней мере, хорошее обходное решение …