Jestem zaniepokojony moim problemem i naprawdę doceniłbym pomoc w jego rozwiązaniu.
Mam iMaca z systemem Mac OS X Mavericks 10.9.2
Skonfigurowałem mój apache do obsługi dokumentów z katalogu głównego serwera / woluminu / witryn /
Używam dynamicznych hostów wirtualnych, więc po dodaniu katalogu z sufiksem * .dev staje się on hostem wirtualnym.
Plik moich hostów jest dość prosty:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
Mój plik httpd-vhosts.conf jest następujący:
#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
#allow access to the Hosts directory where your sites are
<Directory "/Volumes/sites">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
#you could configure the following to only allow access from localhost
Order allow,deny
Allow from all
</Directory>
#get the server name from the Host: header
UseCanonicalName Off
VirtualDocumentRoot /Volumes/sites/%0/
To wszystko działało. I nic nie zmieniłem w moim pliku httpd.conf.
Jednak nie mogę załadować localhost
Nie mogę również załadować 127.0.0.1
Uruchomiłem polecenie, sudo lsof -i :80 | egrep "PID|LISTEN"
aby sprawdzić, czy PID nasłuchuje na porcie 80. Wyniki były puste.
Próbowałem ponownie uruchomić apache, a także zatrzymać, a następnie uruchomić apache
sudo apachectl stop
sudo apachectl start
sudo apachectl restart
Nic nie działa.
Sprawdziłem, czy apache działa, wydając polecenie httpd -v
Zwrot był:
Server version: Apache/2.2.26 (Unix)
Server built: Dec 10 2013 22:09:38
Próbowałem połączyć się z localhost i 127.0.0.1 za pomocą wiersza polecenia z następującym wynikiem:
alisamii at alisamii in ~
$ telnet localhost 80
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
telnet: Unable to connect to remote host
alisamii at alisamii in ~
$ telnet 127.0.0.1 80
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host
alisamii at alisamii in ~
$ lynx http://localhost
Looking up localhost
Making HTTP connection to localhost
Alert!: Unable to connect to remote host.
lynx: Can't access startfile http://localhost/
alisamii at alisamii in ~
$ lynx http://127.0.0.1
Looking up 127.0.0.1
Making HTTP connection to 127.0.0.1
Alert!: Unable to connect to remote host.
lynx: Can't access startfile http://127.0.0.1/
alisamii at alisamii in ~
Proszę pomóż.
Odpowiedzi:
Miałem ten sam problem. Usunąłem jeden z folderów mojego projektu i został uszkodzony. W takim przypadku konfiguracje witryny należy usunąć z httpd-vhosts.conf i httpd.conf.
Próbować
ping 127.0.0.1
apachectl configtest
może pomóc w wykryciu problemu.źródło
apachectl configtest
musisz być pierwszą próbą! Dzięki.sudo cd / && grep -rn "/Users/me/blah/blah" *
Problemem może być to, że plik hosts mógł zostać uszkodzony na podstawie oryginalnego kodowania ASCII. Wyczyściłem wszystkie spacje i umieściłem w nim tabulacje, uruchomiłem
sudo killall -HUP mDNSResponder
(możesz to zrobić zamiast restartu), a potem zadziałało.źródło
/etc/hosts
był zepsuty - zduplikowane linie, niektóre spacje, w których kiedyś były tabulatory ... teraz, aby dowiedzieć się, jak to się stało ....W moim przypadku problem polegał na tym, że folder / private / var / log / apache2 / zaginął z nieznanych przyczyn. Odtwarzanie za pomocą
i restartowanie apache za pomocą
podstępem!
źródło
Odrzucone połączenia są najczęściej spowodowane przez serwer, który nie nasłuchuje na porcie.
Błędy składniowe lub ogólne błędy pliku konfiguracyjnego zabiją apache podczas uruchamiania (zwykle bez zgłaszania się do dzienników błędów lub terminala).
Spróbuj uruchomić
sudo apachectl configtest
i sprawdź, czy wyświetla jakieś komunikaty o błędach.źródło
Jest to specyficzne dla komputerów Mac. Najpierw musisz włączyć udostępnianie sieciowe. W przypadku Maveric można to zrobić tak, jak w tym samouczku. https://www.youtube.com/watch?v=TgiZiTU9JVY Po drugie, w przypadku komputerów Mac ruch jest filtrowany przez pfctl (tj. man pfctl) w Maveric i ipfw (man ipfw) dla starszych wersji Mac OS, jeśli potrzebujesz więcej niż port 80
źródło
To może pomóc w twoim zapytaniu. http://mallinson.ca/web-development-with-mavericks/
źródło