2016-09-23 4 views
0

Ich möchte meine Django App in virtualenv auf Ubuntu mit Python3 erstellt ausführen. Ordnerstruktur in virtualenv Ordner:Bereitstellen von Django-App auf Ubuntu Apache2

-bin

-include

-lib

-myapp

-Anteil

pip-selfcheck.json

Die myapp-Ordner enthält meine Anwendung mit Apache fo lder wie in diesem Tutorial konfiguriert: https://www.sitepoint.com/deploying-a-django-app-with-mod_wsgi-on-ubuntu-14-04/ Ich habe alle Anwendungen installiert, die ich in meinem virtualenv brauche, nach 'sudo service apache2 restart' Ich sehe nur Apache2 Ubuntu Default Page. Datei /etc/apache2/sites-enabled/000-default.conf ist wie im Tutorial:

<VirtualHost *:80> 
    WSGIScriptAlias//home/myuser/mysite/apache/wsgi.py 
    <Directory "/home/myuser/mysite/apache/"> 
     Require all granted 
    </Directory> 
</VirtualHost> 

Natürlich mit korrekten Pfade zu meinem Projektstandort zeigt in ‚Venv‘ Ordner. Keine Ahnung, wo es weitergehen soll, was zu überprüfen ist, danke für Vorschläge.

EDIT: Ich wirklich nicht bekommen, ich habe die erwähnte Datei bearbeitet, hatte einen Versuch, nichts passierte, so dass ich es zurück und nach dem Neustart es funktionierte.

Antwort

0

So nach der Bearbeitung der Datei, Apache neu zu starten, die Bearbeitung der Datei wieder funktioniert (/ etc/apache2/sites-enabled/000-default.conf). Wirklich nicht bekommen, mehrere Neustarts gestern hat nicht geholfen ...

0

Die offizielle Dokumentation Django mod_wsgi zur Verwendung finden Sie unter:

Es ist besser, dass für, wie die Dinge auf konsultieren eigens für Django, Sie fehlen verschiedene erforderliche Konfigurationselemente.

Warum erhalten Sie immer noch die Standardseite, könnte es sein, weil Sie diese Konfiguration als eine zusätzliche Sache am Ende der Standard-Sites-Datei hinzugefügt, anstatt den Inhalt der VirtualHost Sie in die vorhandene VirtualHost einfügen in dieser Datei. Wenn Sie es nachher hinzugefügt haben, wird es ignoriert, da es weiterhin das vorhandene VirtualHost verwendet, da es zuerst kommt und Sie nicht korrekt benanntes basiertes Hosting eingerichtet haben.

Beachten Sie auch, dass wo andere Leute sagen, Sie sollten etwas anderes verwenden, jede Lösung wird eine Lernkurve haben, wenn dies alles neu ist. Keine Lösung ist einfach, wenn Sie in Ihr bestehendes Hostsystem integrieren wollen. So kann es eine große Zeitverschwendung sein, verschiedene Lösungen zu betrachten. Wählen Sie eine, die Sie denken, dass Sie mögen und bleiben Sie dabei. Die Idee, dass man anderen überlegen ist, ist im Allgemeinen Unsinn, da ihre Leistung ähnlich ist.

Ich würde eigentlich vorschlagen, überspringen Sie sogar versuchen, es in Ihr Host-System zu integrieren, um mit zu beginnen, wenn Sie gerade spielen. Verwenden Sie einen WSGI-Server, den Sie über die Befehlszeile ausführen können, auch wenn es sich nur um den gebündelten Entwicklungsserver mit Django handelt.Optionen, die sind einfach von der Kommandozeile auszuführen, sind:

+0

Ich habe Ihre Antwort nicht bekommen, wo Sie sagen, warum bekomme ich die Standardseite. Das ist der einzige Inhalt in der 000-default.conf-Datei, ist es falsch? Die zweite Sache, die ich wirklich brauche, um auf Apache zu laufen und nicht nur im Entwicklungsmodus, danke. –

Verwandte Themen