Лучший способ устранения неполадок Apache не запускается?


8

Недавно мы получили резервный сервер для зеркалирования всех наших данных на случай отказа основного сервера.

Я получил все данные о сайтах, обновленные с помощью rsync, и все настройки и базы данных apache обновлены. Обе машины работают на Ubuntu 9 (9.04 на основной, 9.10 на резервной копии).

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

* Starting web server apache2                                       [fail]

Больше ничего не указывает на то, в чем проблема.

Я знаю, что у меня недостаточно информации, чтобы ожидать решения от вас, ребята, поэтому я просто хотел бы знать, куда я могу пойти дальше для дальнейшего изучения этой проблемы. Будут ли какие-либо журналы ошибок для этого?

Спасибо!


до сих пор я нашел журналы, в которых говорилось: «Нет такого файла или каталога: mod_fcgid» - это хорошее начало
Lowgain

Ответы:


11

В некоторых конкретных случаях запись журнала не будет записана на диск - это может произойти, если, например, журналы не существуют, или Apache просто не может записать файлы журнала из-за проблем с разрешениями и т. Д. В таких случаях Лучший способ диагностировать ошибку - использовать `strace ':

[root@server ~]# strace -Ff apachectl start

Хотя вывод будет довольно многословным, если по какой-либо причине Apache не запустится, вы увидите write () в конце с содержимым того, что будет занесено в журналы, с причиной, по которой он не работает (если он не регистрирует) почему в журнале ошибок не удивляйтесь, если сообщение об ошибке содержит «Не удается открыть журнал» с указанием пути к журналу;).

Хотя, глядя на ваш комментарий относительно mod_fcgid, я бы посоветовал рассмотреть конфигурацию Apache и изучить ссылки на mod_fcgid - похоже, он пытается открыть буквальный файл "mod_fcgid", а не загружать модуль.



3

Любые ошибки должны быть напечатаны в журналах ошибок (часто в / var / log / http / error_logs. Grep для ErrorLog в вашем httpd.conf, чтобы узнать, где.

Я рекомендую использовать два окна. Сделайте 'tail -f error_log' в одном окне и используйте другое окно для запуска команды apachectl restart. После того, как вы найдете ошибку, обновите свой ответ здесь сообщением об ошибке.


Первым шагом в поиске и устранении неисправностей всегда должно быть чтение журналов. Apache регистрирует почти каждое событие, которое проходит через него, поэтому вы должны быть переполнены данными для просмотра.
phuzion

2

У меня была похожая проблема с отладочным сервером Apache в Mac OS, поэтому я решил поделиться своим опытом и сэкономить время, когда я нашел следующее очень полезным:

  1. найти журналы:

apachectl -S | grep log

  1. в выводе вы найдете несколько файлов журналов, которые вы можете начать искать пример ошибок:

tail -n 15 /var/log/apache2/ssl_engine.log

Если существует более 1 файла журнала, продолжайте их, пока не найдете ошибку, приводящую к тому, что apache не запускается


0

Если ваш Apache не работает, проверьте порт Skype, в большинстве случаев Skype и Apache используют порт 80, и это означает, что Skype может быть причиной, по которой apache не может запуститься. остановите скайп, если он установлен.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.