Лучший способ устранения неполадок Apache не запускается?
Недавно мы получили резервный сервер для зеркалирования всех наших данных на случай отказа основного сервера.
Я получил все данные о сайтах, обновленные с помощью rsync, и все настройки и базы данных apache обновлены. Обе машины находятся на Ubuntu 9 (9.04 на основной, 9.10 на резервной копии).
Таким образом, на данный момент все кажется синхронизированным по большей части (все еще нужно выяснить синхронизацию пользователей), и я пытаюсь запустить Apache. я получил
* Starting web server apache2 [fail]
Больше ничего не указывает на то, в чем может быть проблема.
Я знаю, что у меня недостаточно информации, чтобы ожидать решения от вас, ребята, поэтому я просто хотел бы знать, куда я могу пойти дальше для дальнейшего изучения этой проблемы. Будут ли какие-либо журналы ошибок для этого?
Спасибо!
6 ответов
В некоторых конкретных случаях запись журнала не будет записана на диск - это может произойти, если, например, журналы не существуют, или Apache просто не может записать файлы журнала из-за проблем с разрешениями и т. Д. В таких случаях Лучший способ диагностировать ошибку - использовать `strace':
[root@server ~]# strace -Ff apachectl start
Хотя вывод будет довольно многословным, если по какой-либо причине Apache не запустится, вы увидите write() в конце с содержимым того, что будет занесено в журналы, с причиной, по которой он не работает (если он не регистрирует) почему в журнале ошибок не удивляйтесь, если сообщение об ошибке содержит "Не удается открыть журнал" с указанием пути к журналу;).
Хотя, глядя на ваш комментарий относительно mod_fcgid, я бы посоветовал рассмотреть конфигурацию Apache и изучить ссылки на mod_fcgid - похоже, он пытается открыть буквальный файл "mod_fcgid", а не загружать модуль.
httpd -t
проверит синтаксис ваших файлов конфигурации и выложит любые ошибки в терминал.
У меня была похожая проблема с отладочным сервером Apache в Mac OS, поэтому я решил поделиться своим опытом и сэкономить время, когда я нашел следующее очень полезным:
- найти журналы:
apachectl -S | grep log
- в выводе вы найдете несколько файлов журналов, которые вы можете начать искать пример ошибок:
tail -n 15 /var/log/apache2/ssl_engine.log
Если существует более 1 файла журнала, продолжайте их, пока не найдете ошибку, приводящую к тому, что apache не запускается
Любые ошибки должны быть напечатаны в журналах ошибок (часто в /var/log/http/error_logs. Grep для ErrorLog в вашем httpd.conf, чтобы узнать, где.
Я рекомендую использовать два окна. В одном окне выполните tail -f error_log и используйте другое окно для запуска команды apachectl restart. После того, как вы найдете ошибку, обновите свой ответ здесь сообщением об ошибке.
Что-то еще работает на порту 80 и блокирует вход, или порт заблокирован. У меня был FTP-сервер, работающий в диспетчере IIS в Windows 11, который блокировал Apache. Запустите «localhost» в браузере и посмотрите, появляется ли ошибка, в противном случае должна появиться мешающая служба и предоставить дополнительную информацию.
- также отключите службы IIS, выполнив поиск «Включить или выключить функции Windows». Функции Windows> Информационные службы Интернета> Снимите флажок> Перезагрузить компьютер после загрузки.
Если ваш Apache не работает, проверьте порт Skype, в большинстве случаев Skype и Apache используют порт 80, и это означает, что Skype может быть причиной, по которой apache не может запуститься. остановите скайп, если он установлен.