Ich bin verblüfft über das Problem, das ich habe, und würde mich sehr über eine Hilfe bei der Lösung freuen.
Ich habe einen iMac mit Mac OS X Mavericks 10.9.2
Ich habe meinen Apache so eingerichtet, dass Dokumente vom Server-Stammverzeichnis / Volume / sites / bereitgestellt werden.
Ich verwende dynamische virtuelle Hosts. Wenn Sie also ein Verzeichnis mit dem Suffix * .dev hinzufügen, wird es zu einem virtuellen Host.
Meine Hosts-Datei ist ziemlich einfach:
##
# 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
Meine httpd-vhosts.conf-Datei lautet wie folgt:
#
# 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/
Das hat alles geklappt. Und ich habe nichts in meiner httpd.conf-Datei geändert.
Trotzdem kann ich localhost nicht laden
Ich kann 127.0.0.1 auch nicht laden
Ich habe den Befehl ausgeführt, sudo lsof -i :80 | egrep "PID|LISTEN"
um festzustellen, ob eine PID Port 80 überwacht. Die Ergebnisse waren leer.
Ich habe versucht, Apache neu zu starten und auch zu stoppen und dann mit Apache zu starten
sudo apachectl stop
sudo apachectl start
sudo apachectl restart
Nichts funktioniert.
Ich habe mit dem Befehl überprüft, ob Apache ausgeführt wird httpd -v
Die Rückkehr war:
Server version: Apache/2.2.26 (Unix)
Server built: Dec 10 2013 22:09:38
Ich habe versucht, über die Kommandozeile eine Verbindung zu localhost und 127.0.0.1 herzustellen, mit folgendem Ergebnis:
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 ~
Bitte helfen Sie.
Antworten:
Hatte das selbe Problem. Ich habe einen Ordner meines Projekts gelöscht und er ist kaputt gegangen. In diesem Fall sollten die Konfigurationsdateien der Site aus httpd-vhosts.conf und httpd.conf entfernt werden.
Versuchen
ping 127.0.0.1
apachectl configtest
kann Ihnen helfen, das Problem zu erkennen.quelle
apachectl configtest
muss dein erster Versuch sein! Vielen Dank.sudo cd / && grep -rn "/Users/me/blah/blah" *
Das Problem könnte sein, dass die Hosts-Datei möglicherweise durch die ursprüngliche ASCII-Codierung beschädigt wurde. Ich habe alle Leerzeichen gelöscht und Tabulatoren eingefügt, bin gelaufen
sudo killall -HUP mDNSResponder
(das kannst du tun, anstatt neu zu starten) und danach hat es funktioniert.quelle
/etc/hosts
war beschädigt - doppelte Zeilen, einige Leerzeichen, wo es einst Tabulatoren gab ... jetzt, um herauszufinden, wie das passiert ist ...In meinem Fall bestand das Problem darin, dass der Ordner / private / var / log / apache2 / aus unbekannten Gründen nicht mehr vorhanden war. Neu erstellen mit
und Neustart von Apache mit
hat den Trick gemacht!
quelle
Abgelehnte Verbindungen werden am häufigsten von einem Server verursacht, der den Port nicht überwacht.
Syntaxfehler oder allgemeine Fehler in der Konfigurationsdatei töten den Apache beim Start (normalerweise ohne Meldung an die Fehlerprotokolle oder das Terminal).
Versuchen
sudo apachectl configtest
Sie, das Programm auszuführen, und überprüfen Sie, ob Fehlermeldungen angezeigt werden.quelle
Es ist Mac-spezifisch. Zuerst müssen Sie die Webfreigabe aktivieren. Für Maveric kann dies wie in diesem Tutorial durchgeführt werden. https://www.youtube.com/watch?v=TgiZiTU9JVY Zweitens wird der Datenverkehr für Mac über pfctl (dh man pfctl) in Maveric und ipfw (man ipfw) für ältere Versionen von Mac OS gefiltert, wenn Sie mehr als Port benötigen 80
quelle
Dies kann bei Ihrer Abfrage hilfreich sein. http://mallinson.ca/web-development-with-mavericks/
quelle