Ändern Name der MongoDB-Server
In MongoDB, wie ändere ich den Namen der server/daemon, oder erstellen Sie einen neuen server mit einem anderen Namen als localhost
? Die docs geben Sie einen Weg, um eine Verbindung zu einem server mit einem bestimmten Namen, wie localhost
(die --host
option auf die mongo
Befehl), als auch als ein Weg zu geben Sie die Namen der einzelnen server, die in einer Replikation eingestellt, die ich vergessen in dem moment, aber nicht eine Methode zu sagen, die Namen der server zum erstellen einer Instanz für die mongod
Befehl. Es scheint zu sein localhost
.
Habe ich node.js
und apache
, so kann ich mit virtual-hosting, und ich haben offensichtlich ein hosts
Datei (/etc/hosts
auf Unix-artigen Betriebssystemen und C:\WINDOWS\System32\drivers\etc\hosts
auf Windows), also kann ich vermutlich erstellen Sie einen server mit einem anderen Namen aus localhost
, aber die Frage ist kann ich das mit der built-in-Befehle wie mongod
oder mit einer Konfigurations-Datei?
- Sind Sie auf der Suche nach einem Weg, um die Verbindung eines Clients zu einem mongod anderen interface als localhost? Wenn ja, würde ich überprüfen, um zu sehen, ob die bindip option wird festgelegt, entweder als argument für mongod oder auf Ihrem mongod.conf-Datei. Diese option ist wahrscheinlich, was wäre die Begrenzung mongod an eine lokale Schnittstelle.
- Nein, ich bin auf der Suche nach einem Weg, um name ein server etwas außer
localhost
, auch wenn es auf meinem lokalen Rechner. Ich glaube nicht, eine Verbindung zu einem anderen Rechner, noch hat diese Frage Fragen Sie über die Anschluss an alle. - In Ihrer Frage geben Sie an "Die docs geben Sie einen Weg, um eine Verbindung zu einem server mit einem bestimmten Namen". Dies bedeutet, dass die Verbindung einen client, um Ihre mongod-Instanz. mongod selbst ist nicht konfiguriert "name" Informationen, die außerhalb der in der Replik festgelegten definition - ausgeführt, wenn eine Replikatgruppe.
- Das ist enttäuschend, aber wenn es die Antwort, es ist die Antwort. Ich werde akzeptieren, wenn Sie machen Sie es so.
- Warum enttäuschend? Was ist das problem, das Sie lösen möchten? Wenn mongod gestartet wird auf einem server öffnet einen port und ist verfügbar für jeden Kunden können eine Verbindung zu diesem port (wenn man die Schnittstelle nicht eingeschränkt ist mit der bindip option). Das bedeutet, dass Sie sollten in der Lage sein, um verbinden Sie die shell über --host mit jedem von localhost, hostname oder IP-Adresse.
- Was ist enttäuschend ist, dass ich nicht verwenden können virtuelle Hosts ändern Sie den Namen des Servers, von
localhost
. Dies ist möglich mit der Webseite "Server", aber ich nehme an, die Datenbank "Server" sind ein anderes Tier. - mongod ist nur ein Prozess läuft innerhalb Ihrer gehosteten virtuellen Maschine, nicht um einen Geschmack, der server oder der virtuellen Maschine.
- "In Ihrem gehosteten virtuellen Maschine": meinst du damit, dass MongoDB eine virtuelle Maschine erstellt für Sie, wie Java oder C#, oder dass Sie glauben, ich bin in einer virtuellen Maschine beim Zugriff auf MongoDB? Weil ich nicht bin (derzeit) mit Hilfe einer virtuellen Maschine Zugriff auf das OS mit MongoDB.
- Lassen Sie uns weiter, diese Diskussion im chat.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Gegensatz zum HTTP-Protokoll (benutzt für Ihre web-Anwendungen laufen in einem web-server wie Apache), die MongoDB-Draht-Protokoll nicht verwenden Hostnamen, wenn die Bestimmung, wie eine eingehende Anforderung verarbeitet. Das bedeutet, dass es kein äquivalent zu einem host-Namen oder die virtualhost-Direktive für Ihre MongoDB-server.
Den MongoDB-server-Konfigurationsdatei können Sie Bindung an eine oder mehrere IP-Adressen. Die bind-IP-Konfiguration option gibt an, welche IP-Adresse(N) der server hört für eingehende verbindungen. Das können zum Beispiel sein:
127.0.0.1
(akalocalhost
), eine Komma-getrennte Liste von IP-Adressen oder alle Netzwerk-Schnittstellen, wenn Sie nicht angeben, eine bind-IP-Beschränkung.Wenn Sie eine Verbindung zu MongoDB und geben Sie einen Hostnamen in der Befehlszeile oder Treiber-Optionen, ist dieser name nur aufgelöst werden, die aus der externen Sicht. Sie können unabhängig von der form der auflösbaren Hostnamen ein, den Sie erstellen möchten, die außerhalb von MongoDB (zum Beispiel in Ihrer
/etc/hosts
- Datei oder DNS). Solange die MongoDB-server hört auf die IP der hostname aufgelöst wird (und nicht durch firewalls oder Netzwerk-Verbindungsprobleme), sollten Sie in der Lage sein, um eine Verbindung unabhängig von der hostname verwendet.Beispielsweise während
localhost
ist die Standard-Namen für die IP-Loopbackadresse (127.0.0.1) und sollte immer definiert werden .. normalerweise wird Ihr computer auch einen eindeutigen Hostnamen definiert. Sie können überprüfen, was Ihre Standard-hostname löst in dermongo
shell mitgetHostName()
:Vorausgesetzt, es ist kein bind-IP-Beschränkung und ein hostname des
Webscale.local
mit der IP-Adresse192.168.1.1
Sie wäre in der Lage, eine Verbindung mit einem:bindIp
parameter. Es ist wirklich seltsam, weil in meinemhosts
Datei, die ich binden viele, viele hosts auf 127.0.0.1, aber kann mich nur anschließen, um Sie mit Namen, wenn ich nicht die Bindung an 127.0.0.1.