Nano Hash - криптовалюты, майнинг, программирование

Apache не запускается, говорит, что модуль httpd загружен, но не работает

Итак, я работал с несколькими виртуальными хостами на OS X 10.8.2. Я использую установку Apache2 и MySQL для запуска виртуальных хостов на основе имен. Все они прекрасно работали до вчерашнего вечера. Внезапно все мои виртуальные хосты перенаправляются на страницу «Не удается подключиться».

После возни и, в конце концов, проверки журналов ошибок, я пришел к выводу, что Apache на самом деле НЕ работает. Например, пс доп | grep apache возвращает только процесс grep. Однако, если я попытаюсь запустить sudo /usr/sbin/apachectl, я получу в ответ «org.apache.httpd: уже загружен».

Я проверил свой файл httpd.conf, и он выглядит прекрасно. Я не вижу никаких изменений в нем. Я также запустил команду проверки синтаксиса (которая ускользает из моей головы в тот самый момент), и она вернула OK. Единственное, что я нашел в своих журналах ошибок, последнее, было вчера, 21 февраля, и в нем говорится: «[Четверг, 21 февраля, 21:46:02 2013] [уведомление] поймал SIGTERM, завершение работы»

С тех пор мои журналы ошибок Apache ничего не содержат (потому что он не запущен). Я перезапустил, попытался перезапустить apache; Я в полной растерянности, почему он думает, что работает, хотя это не так.

Есть идеи?

В /var/logs/system.log при попытке запустить и перезапустить Apache:

Feb 23 09:27:00 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd[8766]): Exited with code: 1
Feb 23 09:27:00 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd): Throttling respawn: Will start in 10 seconds
Feb 23 09:27:10 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd[8767]): Exited with code: 1
Feb 23 09:27:10 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd): Throttling respawn: Will start in 10 seconds
Feb 23 09:27:16 Baileys-MacBook-Pro.local sudo[8769]:   bailey : TTY=ttys000 ; PWD=/private/var/log ; USER=root ; COMMAND=/usr/sbin/apachectl start
Feb 23 09:27:20 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd[8772]): Exited with code: 1
Feb 23 09:27:20 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd): Throttling respawn: Will start in 10 seconds
Feb 23 09:27:20 Baileys-MacBook-Pro.local sudo[8773]:   bailey : TTY=ttys000 ; PWD=/private/var/log ; USER=root ; COMMAND=/usr/sbin/apachectl restart
Feb 23 09:27:20 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd[8777]): Exited with code: 1
Feb 23 09:27:20 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd): Throttling respawn: Will start in 10 seconds
Feb 23 09:27:26 Baileys-MacBook-Pro.local sudo[8778]:   bailey : TTY=ttys000 ; PWD=/private/var/log ; USER=root ; COMMAND=/usr/bin/vi system.log

Эта проблема сохраняется после перезагрузки. Со вчерашнего дня он не запускается, но считает, что модуль httpd загружен.

Я пытаюсь выяснить через Google, но -- кто-нибудь знает, как Apache проверяет, загружен ли он? Я знаю, что многие сервисы блокируют файлы для запуска; возможно ли, что у Apache есть файл блокировки, который все еще заблокирован, несмотря на то, что Apache в настоящее время не работает?



ПРИМЕЧАНИЕ. Я также опубликовал это на ServerFault — я также публикую это здесь, потому что до сих пор я ничего не получил на ServerFault, и я просматривал сообщения Apache на StackOverflow. , поэтому я предполагаю, что вопросы Apache подходят для Stack.


Ответы:


1

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

sudo lsof -i tcp:80 | grep LISTEN

EDIT: Возможно, проще: вы можете запустить Apache вручную в режиме отладки, чтобы узнать, по какой причине он не запускается:

sudo /usr/sbin/httpd -k start -e Debug -E /dev/stdout

В моем случае (что-то уже прослушивает порт 80) это выдаст:

(48)Address already in use: make_sock: could not bind to address 0.0.0.0:80
23.02.2013
  • Когда я запускаю этот вывод, ничего нет. 24.02.2013
  • Ваш Apache слушает порт 80? В противном случае вам придется изменить номер порта после tcp:. Вы используете встроенный Apache 2 или установили MAMP или что-то в этом роде? 24.02.2013
  • Мой Apache работает на порту 80, да. Это встроенный Apache 2 для OS X 10.8.2. 25.02.2013
  • Я сделал - он не дал результата и все еще не работал. В итоге я попытался переустановить Mountain Lion, и это не сработало. Мне напомнили о странном случае, когда я перезагрузился, и мой MacBook Pro не загружал OS X, и мне пришлось переустанавливать. Честно говоря, я подозреваю, что это какая-то аппаратная проблема с моим дисководом. 26.02.2013
  • Ой :( Удачи с этим! 27.02.2013
  • Спасибо! sudo /usr/sbin/httpd -k start -e Debug -E /dev/stdout было находкой. 01.10.2013

  • 2

    В моем случае я получил:

    (2) Нет такого файла или каталога: httpd: не удалось открыть файл журнала ошибок /private/var/log/apache2/error_log. Не удается открыть журналы

    Создание каталога apache2 запустило его.

    22.07.2013
  • Это сработало для меня, мой пытался искать в /mnt/apache2, поэтому я создал каталог apache2 в mnt, и это сработало! 20.11.2013

  • 3

    Не знаю, актуально ли это, но так как я столкнулся с той же проблемой и нашел альтернативное решение, позвольте мне все равно поставить свою 2с.

    Посмотрел этот пост, когда у меня возникла такая же проблема. Оказывается, виноват был файл httpd.conf. Я изменил его, чтобы установить что-то. Хотя я удалил файлы установщика, я забыл изменить httpd.conf обратно. Надеюсь, вы не столкнулись с той же проблемой.

    Что касается вопроса о порте 80, я видел, как скайп захватывал порт так же, как и 443 (Бог знает для чего), и у меня были лучшие результаты после того, как я его отключил. Убедитесь, что у вас не запущен скайп на порту 80.

    22.08.2017

    4

    указатель Робертклепа:

    sudo /usr/sbin/httpd -k start -e Debug -E /dev/stdout

    решил связанную проблему для меня. Те же симптомы, другая причина, я думаю. Я настроил тестовый виртуальный хост с SSL и самозаверяющим сертификатом.

    Я сгенерировал закрытый ключ с парольной фразой. Итак, httpd ждал парольную фразу (которую я не предоставил). Когда я начал с опции отладки, я получил подсказку, указал парольную фразу и запустил httpd.

    Итак, повторим закрытый ключ без кодовой фразы...

    17.05.2013
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..