2017-01-10 4 views
0

Also wurde ich damit beauftragt, zwei Apps auf einem Server laufen zu lassen, was ich getan habe, aber ich denke, ich habe es falsch konfiguriert, da die URL falsch ist, um auf die App zuzugreifen und die App hat seltsame Fehler sollte nicht auftreten. (Foo/Bar ist das erste Projekt, das bereits auf der Site eingerichtet wurde und QMS ist die App, die ich erstellt habe und versuche hinzuzufügen). Erwähnenswert ist, dass ich andere Formate ausprobiert habe, wie WSGIScriptAlias ​​'im ersten virtuellen Host deklarieren, das funktioniert aber gibt mir das gleiche URL-Format.Zwei Django Apps auf einem Server

Die URLs werden sollen aussehen: mysite.com/foo/bar & mysite.com/QMS

jedoch die aktuellen URLS sind: mysite.com/foo/bar & mysite.com/foo/QMS

Der Fehler, mit dem wir konfrontiert sind, ist ein "Programmierfehler" aus Django, wo er glaubt, dass unsere DBs nicht existieren, aber wir haben es bewiesen und wir haben mit den Migrationen gespielt. Anyways weiter zur entsprechenden Konfiguration. So habe ich es Setup derzeit wie folgt aus:

<VirtualHost _default_:443> 
    ServerName web.mysite.com 
    ServerAlias www.mysite.com 
    WSGIScriptAlias /foo /var/www/html/foo/bar/wsgi.py 

    DocumentRoot /var/www/html 

    <Directory /var/www/html/foo/mediaroot> 
     Require all granted 
    </Directory> 
</VirtualHost> 

<VirtualHost _default_:443> 
    ServerName web.mysite.com 
    ServerAlias www.mysite.com 
    WSGIScriptAlias /qms /var/www/html/qms/QMS/wsgi.py 
    Alias /static /var/www/html/qms/staticroot/ 

    <Directory /var/www/html/qms> 
     Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 

Vielen Dank für das Lesen und ich würde wirklich zu schätzen jede Hilfe, da dies hat mich ratlos!

EDIT: Mögliche nützliche Info. Im/www/html/foo/Verzeichnis befindet sich der Haupt-QMS-Ordner (Das Verzeichnis enthält die Ansichten & Modelle, aber nicht die Einstellungen usw. Dies kann sich auf die Datenbankprobleme beziehen, wie sie in den Einstellungen deklariert sind django debugger wir können sehen, wenn auf www.mysite.com/foo/QMS es foo/bar Einstellungen über die QMS-Einstellungen läuft)

+0

Sie können nicht zwei '' VirtualHost'' Definitionen mit dem gleichen '' ServerName'' und dem gleichen Port haben, nur der erste wird verwendet. Sie sollten beide '' WSGIScriptAlias'' Direktiven im gleichen '' VirtualHost'' haben. Sie sollten jedoch auch den Daemon-Modus mod_wsgi verwenden und jede Django-Instanz so delegieren, dass sie in separaten Prozessgruppen ausgeführt wird. –

+0

@GrahamDumpleton Ich habe seit der Veröffentlichung dieser Frage einen VHost verwendet. Aber wenn ich DaemonProcess benutze, kann ich nicht zwei Staticroots bedienen (einen für jede App), ich habe sie mit Alias ​​im selben VHost deklariert jetzt bekomme ich, dass es nur den ersten benutzt und das ist das Problem, das ich habe konfrontiert, aber wie kann ich es umgehen? –

+1

Sie können nicht beide "/ statisch" verwenden. Sie müssen für beide unterschiedliche Präfixe verwenden. Was hast du zur Zeit für beide? –

Antwort

0

Also ich fand es heraus und dachte, ich würde meine Frage beantworten, wenn jemand anders war an der gleichen Stelle stecken. Was mich also täuschen ließ, war, dass mein Arbeitskollege eine zusammengeführte Version vermittelte, die mir erlaubte, über mein Projekt auf meine URL zuzugreifen. Das hat mich glauben lassen, dass es eine Fehlkonfiguration war.

Also, um es zu lösen entfernten wir meine App von seinem, neu hochgeladen dann habe ich diese auf meine Apps wsgi.py Datei:

path = "/var/www/html/qms"  # Make it the base folder of your app 
if path not in sys.path: 
    sys.path.append(path) 

Und jetzt sind wir mit der richtigen URLs rollen und meinem App verwendet jetzt meine Einstellungen, die die Fehler behoben haben, die ich bekommen habe.

Verwandte Themen