Ich habe seit einer Weile Probleme damit und habe alles versucht, was ich weiß, also dachte ich, es sei endlich Zeit, um Hilfe zu bitten.
Alle Änderungen, die ich an vornehme, /etc/hosts
funktionieren einfach nicht.
Beispiel:
julian@ifrit:~$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 ifrit
192.168.1.100 dev.julianfernand.es
Wenn ich im obigen Beispiel darauf zugreife dev.julianfernand.es
(das gibt es nicht), sollte es von geladen werden 192.168.1.100
.
Wenn ich pinge, funktioniert es einwandfrei. Wenn ich jedoch dev.julianfernand.es
über Google Chrome oder Firefox auf etwas zugreife , geschieht dies nicht.
Jetzt, nachdem ich ein paar Mal neu gestartet habe, funktioniert es. Da ich jedoch bei einem verwalteten WordPress-Hosting-Unternehmen arbeite, muss ich in vielen Situationen meine Datei bearbeiten, um die Website des Kunden auf unserem Server zu sehen.
Ich kann meinen Computer einfach nicht mehr neu starten. Es ist überhaupt nicht produktiv. Das Neustarten des Netzwerkdienstes funktioniert nicht. Dies gilt auch für das Löschen des Caches (sogar für den internen Chrome-DNS-Cache).
Hat hier jemand eine Idee? Dies geschieht mit elementaryOS (basierend auf Ubuntu 12.04) und Ubuntu 13.10 (täglich). Habe noch keine andere Version ausprobiert.
PS: In diesem Fall läuft auf diesem Rechner ein NGINX-Server mit PHP-FPM und MySQL.
Danke im Voraus :)
quelle
Antworten:
Wenn Sie in Ubuntu den DNS-Cache leeren möchten, müssen Sie den
nscd
Daemon neu starten .Installieren Sie
nscd
mit dem folgenden Befehl:Leeren Sie den DNS-Cache in Ubuntu mit dem folgenden Befehl:
ODER
Referenz: http://www.upubuntu.com/2012/05/how-to-flush-clear-dns-cache-under.html
quelle
Bei mir hat folgendes geklappt: add
im
töte dnsmasq und
quelle
Für mich bestand die Lösung darin, die
/etc/nsswitch.conf
Datei zu bearbeiten (Sie können den Befehl verwendensudo vim /etc/nsswitch.conf
). Ich habe die Zeile geändert:zu:
und jetzt funktioniert es wie erwartet!
quelle
files
als ersten Eintrag, wenn Sie/etc/hosts
Vorrang vor den Ergebnissen von DNS-Servern haben möchten .Die akzeptierte Antwort funktioniert von 12.04 bis 13.04 durch Deaktivieren
dnsmasq
, funktioniert aber in 13.10 nicht mehr für mich. Ich habe die folgende neue Lösung für 13.10 gefunden.Bearbeiten Sie Ihre Datei / etc / default / dnsmasq und wechseln Sie
ENABLED=1
zuENABLED=0
und starten Sie sie neu.quelle
Von: http://blog.calebthorne.com/2012/08/broken-etchosts-in-ubuntu-1204.html
Eine neue "Funktion" in der Ubuntu 12.04 Desktop Edition ist die Verwendung
dnsmasq
als Plugin für NetworkManager für lokales DNS. Dnsmasq soll DNS- und DHCP-Dienste beschleunigen, hat jedoch eine unglückliche Nebenwirkung:dnsmasq
Zwischenspeichern des lokalen DNS und Ignorieren von Änderungen an/etc/hosts
. Ich ändere häufig die Hosts-Datei, während ich an Websites arbeite, so dass dieses "Feature" ziemlich nervig war.Die Lösung besteht darin,
dnsmasq
in der Networkmanager-Konfigurationsdatei zu deaktivieren . Öffne/etc/NetworkManager/NetworkManager.conf
und kommentiere die Zeile aus:Meine
NetworkManager.conf
Datei enthält Folgendes:Siehe auch https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/993298
quelle
Einfach und aktualisiert
/etc/NetworkManager/dnsmasq.d/hosts.conf
.address=/whatever/1.2.3.4
in es. Siehe die Dokumentation (siehe--address
). Wildcards sind möglich:address/.whatever./1.2.3.4
.dnsmasq
( Käfer ).$ service network-manager restart
.quelle
Es klingt so, als ob dein Setup meinem sehr ähnlich ist. Ich habe eine Box mit Ubuntu als Office-Server und Entwicklungshost. Auf dieser Box starte ich Nginx-, Apache-, Tomcat-, Rails-Apps und alles, was ich sonst noch brauche.
Von meinem Mac aus kann ich einfach einen Host-Eintrag hinzufügen und den Server mit dem gewünschten Namen laden, aber von einem ElementaryOS-Client aus funktioniert das nicht.
Ich habe die obigen Korrekturen ohne Erfolg versucht.
Ich habe Squid Proxy Server ausgeführt und die Hostnamen zu / etc / hosts auf dem Server hinzugefügt. (Für die Bearbeitung ist ein Neustart von Squid erforderlich.)
Nehmen Sie anschließend die entsprechenden Proxy-Einstellungen in Ihrem Browser oder in der Systemsteuerung des Betriebssystems vor.
quelle
Überprüfen Sie die
/etc/hosts
Dateiberechtigungen.Auf meinem Cloud-Dienst haben sich nach dem Klonen eines Servers die Berechtigungen für die Hosts-Datei von
644
zu geändert ,600
sodass die Datei vermutlich nicht von apache (www-data
) gelesen werden konnte . Ich ranntesudo chmod 644 hosts
davon/etc
und das reparierte es.Das Problem begann als:
Ich habe es auf die Servervariable in MongoClient zurückverfolgt, die auf localhost zeigt. Ich konnte localhost oder den Hostnamen nicht pingen.
quelle
Bearbeiten
/etc/nsswitch.conf
, unter der Zeile auskommentieren , indem Sie # vor der Zeile einfügenund hinzufügen
Grundsätzlich wird die Konfiguration neu angeordnet. Der Domain-Lookup-Prozess konsultiert zuerst die Datei
/etc/hosts
und dann DNS. Bei der Standardkonfiguration wird zuerst DNS abgefragt, bevor andere geeignete Dienste oder Dateien verwendet werden.Für einen schnellen Test, ob es funktioniert oder nicht
Erstellen eines einfachen HTTP-Servers zum Bereitstellen von Dateien aus dem Verzeichnis und anschließender Kommentierung unter der Zeile in der
/etc/hosts
Dateiund hinzufügen
Gehen Sie dann zu einem Browser und geben Sie ein
content/
, ob die Verzeichnisstruktur funktioniert, ansonsten nicht.quelle