У меня Apache2 запущен на Cygwin на моем компьютере с Windows 7. Он ничего особенного не делает, просто размещает некоторую HTML-документацию для моей локальной (защищенной брандмауэром) сети.
Странно, но он, похоже, не запускается автоматически, хотя его тип запуска — автоматический. Однако, когда я запускаю его вручную, он работает отлично. Есть идеи, почему это может быть?
- Версия Apache (
httpd2.exe -v
):Apache/2.2.23 (Unix)
- Версия Cygwin (
uname -a
):
CYGWIN_NT-6.1-WOW64 (hostname removed) 1.7.27(0.271/5/3) 2013-12-09 11:57 i686 Cygwin
Среди кучи событий моих других служб Cygwin, входящих в состояние выполнения, есть событие Apache, входящего в состояние остановки. Например:
Единственное, что я могу найти в журнале приложений, выглядит так:
Описание для Event ID 0 из источника httpd2 не найдено. Либо компонент, вызывающий это событие, не установлен на локальном компьютере, либо установка повреждена. Вы можете установить или восстановить компонент на локальном компьютере.
Если событие возникло на другом компьютере, отображаемую информацию необходимо было сохранить вместе с событием.
В мероприятии была предоставлена следующая информация:
httpd2: PID 3384: служба `httpd2' остановлена, статус выхода: 1
/var/log/apache2/error_log
есть такие вещитолько при успешных ручных запусках:
[Fri Jul 17 08:30:28 2015] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Fri Jul 17 08:30:29 2015] [notice] Digest: generating secret for digest authentication ...
[Fri Jul 17 08:30:29 2015] [notice] Digest: done
[Fri Jul 17 08:30:29 2015] [warn] pid file /var/run/apache2/httpd2.pid overwritten -- Unclean shutdown of previous Apache run?
[Fri Jul 17 08:30:29 2015] [notice] Apache/2.2.23 (Unix) mod_ssl/2.2.23 OpenSSL/1.0.1e DAV/2 configured -- resuming normal operations
/var/log/httpd2.log
есть такие вещи:
(125)Cannot assign requested address: make_sock: could not bind to address <my_172._ip>:80
no listening sockets available, shutting down
Unable to open logs
решение1
httpd2.exe -t
Приведенная выше команда сообщит вам точную ошибку, которая может быть в вашем файле конфигурации, с указанием номера строки.
Попробуйте также
httpd2.exe -k удалить
а потом
httpd2.exe -k установить
Это решило проблему в моем случае.
решение2
Я наткнулся на похожую проблему. Убедитесь, что в свойствах исполняемых файлов нет предупреждения "Этот файл получен с другого компьютера...".
Если это так, см.«Этот файл получен с другого компьютера...» — как разблокировать все файлы в папке, не разблокируя их по отдельности?