2015-10-14 9 views
8

Ich habe einen Django-Webserver auf einer VirtualBox/Vagrant-Maschine, auf der Ubuntu läuft.Zugriff auf den Web-Server auf der VirtualBox/Vagrant-Maschine über den Host-Browser?

Ich habe diese Anleitung folge ein Django-Projekt zu erstellen: https://docs.djangoproject.com/en/dev/intro/tutorial01/

ich einen Web-Server an http://127.0.0.1:8000/ in meiner Gastmaschine laufen habe. Dies ist das erste Mal, dass ich einen Django Webserver betreibe. Es soll eine Hallo Welt App sein.

Wie kann ich von meinem Hostbrowser aus auf diese Webanwendung zugreifen?

Ich habe versucht, ifconfig im Gast zu laufen, um die IP zu erhalten, die ich besuchen sollte, fand ich eine vielversprechende IP-Adresse in inet addr.

Aber ich habe versucht, die folgenden in meinem Host-Browser eingeben und es hat nicht funktioniert. http://inetaddrnumbers:8000/

Wie kann ich über meinen Browser auf den Webserver zugreifen?

+2

Versuchen Sie stattdessen, den Dev-Server auf '0.0.0.0: 8000' (' python manage.py runserver 0.0.0.0: 8000') auszuführen. Auf '127.0.0.1' kann nur vom selben Rechner aus zugegriffen werden. – aumo

+0

Zusätzlich zu dem obigen Kommentar überprüfen Sie, ob Sie von Ihrem ISP hosten dürfen. Im Allgemeinen blockieren sie 80 Ports. – Kakar

+0

@kakar: Der Webserver muss nur von meinen Computern aus erreichbar sein. Es muss nicht zugänglich sein aus dem Internet, so dass ich hoffe, ich brauche nicht über den ISP denken – user1283776

Antwort

21

Versuchen Sie dies.

  1. Öffnen Sie die Vagrant-Datei (sollte in dem Verzeichnis sein, in dem Sie eine neue vagabundierende Maschine erstellen).
  2. Suchen Sie nach config.vm.network. Wenn Sie die Datei nicht früher eingerichtet haben, sollte sie kommentiert werden.
  3. Ändern Sie es, um so etwas zu sehen config.vm.network "private_network", ip: "55.55.55.5". Hier kann die IP-Adresse (55.55.55.5) eine beliebige IP-Adresse sein.
  4. Melden Sie sich jetzt von der Landstreichermaschine ab und laden Sie Ihre Landstreichermaschine mit diesem Befehl vagrant reload.
  5. Wieder ssh zu Ihrem Vagabund Maschine und starten Sie Ihren Django-Server mit diesem Befehl python manage.py runserver 0.0.0.0:80. Auch hier kann die Portadresse (80) 8000 betragen. Geben Sie danach in Ihrem Browser die folgende Adresse 55.55.55.5 ein, und hoffentlich sollten Sie Ihre Webapp sehen.

Nun, wenn Sie weiter gehen möchten, können Sie Ihre Host-Datei, bearbeiten und fügen Sie diese Zeile

55.55.55.5 mynewdomain.com 

dann in Ihrem Browser, geben Sie die nachfolgende Adresse,

mynewdomain.com 

Und Sie sollten Ihre Web-App sehen. Beachten Sie, dass www nicht zum Domänennamen innerhalb der Host-Datei hinzugefügt wird, sodass nur auf mynewdomain.com zugegriffen werden kann. Sie können es jedoch hinzufügen.

Hoffe, das hilft. Prost.

+0

Super, das hat funktioniert! Mein Gast sagte mir, es habe keinen Zugriff auf Port 80, also habe ich den runserver-Befehl zu python manage.py runserver 0.0.0.0:80 und habe die Site von meinem Host-Browser auf http://55.55.55.5:8000/ aufgerufen. – user1283776

+0

Meine vagrant Datei hat folgenden Inhalt: # - * - Modus: Rubin - * - # vi: set ft = Rubin: VAGRANTFILE_API_VERSION = "2" Vagrant.configure (VAGRANTFILE_API_VERSION) tun config | config.vm.provision "shell", Pfad: "pg_config.sh" # config.vm.box = "hashicorp/precise32" Konfig.vm.box = "ubuntu/trusty32" config.vm.network "Weitergeleitet_Port ", Gast: 8000, Gastgeber: 8000 config.vm.network" forwarded_port ", Gast: 8080, host: 8080 config.vm.network" forwarded_port ", Gast: 5000, host: 5000 config.vm.network" private_network ", ip:" 55.55.55.5 " Ende – user1283776

+0

Ok. Großartig, es hat geholfen. – Kakar

Verwandte Themen