Apache запущен, но я не получаю никаких сигналов от своего веб-браузера

#apache #virtualhost #host

#apache #virtualhost #хост

Вопрос:

Я нахожусь на MacOSX 10.9.3, и мой apache запущен:

 $ sudo apachectl start
org.apache.httpd: Already loaded
  

Apache запущен, и внутри моего / etc / hosts у меня есть:

 127.0.0.1 qwertyuiopoiuytrewq.mnbvcxzxcvbnm.com
  

Я могу выполнить пинг qwertyuiopoiuytrewq.mnbvcxzxcvbnm.com но я не могу видеть из своего браузера

 http://qwertyuiopoiuytrewq.mnbvcxzxcvbnm.com/
  

И это мой virtualhost:

 NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot /path/to/root
    ServerName qwertyuiopoiuytrewq.mnbvcxzxcvbnm.com
    ServerAlias qwertyuiopoiuytrewq.mnbvcxzxcvbnm.com
</VirtualHost>
  

и curl ничего не получил

 $ curl http://qwertyuiopoiuytrewq.mnbvcxzxcvbnm.com
curl: (7) Failed connect to qwertyuiopoiuytrewq.mnbvcxzxcvbnm.com:80; Connection refused
  

Что не так? Может быть, порт, который прослушивает Apache? Как я могу проверить, какой порт используется моей службой apache?

 $ lsof -i | grep apache
  

ничего не отвечает… Я попытался с помощью команды, предложенной коллегой

 $ lsof -i :80
  

Но…

 COMMAND     PID          USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Google    13069 simonegentili   84u  IPv4 0xec5b6b421454cd89      0t0  TCP     192.168.11.46:52061->fa-in-f95.1e100.net:http (ESTABLISHED)
Google    13069 simonegentili  105u  IPv4 0xec5b6b421304ed89      0t0  TCP 192.168.11.46:52100->mil02s05-in-f13.1e100.net:http (ESTABLISHED)
Google    13069 simonegentili  125u  IPv4 0xec5b6b42172fe5a1      0t0  TCP 192.168.11.46:51372->mil01s16-in-f1.1e100.net:http (ESTABLISHED)
Google    13069 simonegentili  138u  IPv4 0xec5b6b42145a7d89      0t0  TCP 192.168.11.46:52070->edge-star-shv-07-fra3.facebook.com:http (ESTABLISHED)
  

Я попытался проверить, какой порт прослушивает apache:

 $ cat /etc/apache2/httpd.conf | grep Listen
  

Apache должен отвечать на порт 80.

 # Listen: Allows you to bind Apache to specific IP addresses and/or
# Change this to Listen on specific IP addresses as shown below to
#Listen 12.34.56.78:80
Listen 80
  

И, например, я не понимаю этот ответ:

 $ sudo apachectl start
org.apache.httpd: Already loaded
$ ps aux | grep httpd
simonegentili   26677   0.0  0.0  2444976    416 s001  U     6:13PM   0:00.00 grep httpd
  

Комментарии:

1. Действительно ли запущены какие-либо процессы httpd? Похоже, что ваш apachectl имеет некоторые настройки поставщика для использования какого-либо альтернативного сервисного средства (вышестоящие инструменты не сообщают org.apache.httpd:»

2. Нижняя часть журнала ошибок также обычно довольно полезна.

3. Обновил мой ответ. Я «думаю», что apache включен, но я не уверен. Не могли бы вы прочитать нижнюю часть моего вопроса, чтобы понять, почему.

4. Похоже, что ваша проблема связана с управлением службами в вашей системе, поскольку в выходных данных присутствует только ваша команда «grep».

Ответ №1:

Ping проверяет, что хост доступен по сети, и обычно обрабатывается вашим ядром, а не каким-либо программным обеспечением, запущенным сверху. Пингинг подтвердил, что хост там, это не имеет ничего общего с Apache, прослушивающим порт.

https://en.wikipedia.org/wiki/Ping_ (networking_utility)

Ответ №2:

Очевидно, это может произойти, когда вы нарушили httpd.conf. Вместо того, чтобы сообщить об обычной ошибке синтаксического анализа конфигурации apache с номерами строк и всем прочим, диспетчер служб вводит вас в заблуждение.

Смотрите:

http://neverblog.net/solving-org-apache-httpd-already-loaded-error-on-mac-os-x-snow-leopard/

Проверяя запущенные процессы, я заметил, что apache на самом деле не запущен, что показалось немного странным. К счастью, apachectl предлагает полезную команду для проверки синтаксиса вашей конфигурации, apachectl configtest. Конечно же, оказалось, что я изменил httpd.conf пару недель назад, но так и не перезагрузил Apache. Закомментировав строку-нарушение и запустив Apache, устранили проблему, и я снова запущен.

Тогда, по крайней мере, вам просто нужно отладить обычную ошибку httpd.conf, а не эту загадку.

Комментарии:

1. Большое вам спасибо! «apachectl configtest» сообщает мне, где конфигурация была неправильной. Исправлено. Но, … почему какие-либо ошибки показывают мне это? Я имею в виду, … какие-либо ошибки apache!! Загадка.

Ответ №3:

Вы должны запустить службу apache, используя эту команду /etc/init.d/apache2 start, 127.0.0.1 — это просто сетевой интерфейс с обратной связью.

Комментарии:

1. Я изменил вопрос. Все браузеры ничего не отвечают. Когда apache запущен, а когда нет.