Serve Django zu Remote-Apache-Server
computer 2 = win-64bit
Computer 1 = Ubuntu 14.04
Django = 1.7 (auf Computer 1) (läuft innerhalb einer virtuellen Umgebung)
python = python 2.7
Apache = apachehaus 2.4 (auf coumputer 2)
rundsätzlich versuche ich, ein Django Apache-Paar auf separaten Computern zu habe
so Computer 1 ist Ubuntu, auf dem Django ausgeführt wird, und Computer 2 ist Windows, auf dem Apache24 ausgeführt wird
Ich bin ein Neuling in Sachen Web-Entwicklung, aber ich glaube, es würde wie folgt aussehen:
Stack 1 Web-Zugriff -> Apache-Loaded-mod_wsgi (Computer 2) -> Django (Computer 1)
oder ist es? Ich habe wirklich keine Ahnung.
Stack 2 Web-Zugriff -> Apache (Computer 2) -> Apache-Loaded-mod_wsgi (Computer 1) -> Django (Computer 1)
Wenn ich mache
python mangage.py runserver 192.xxx.x.4:8000
it funktioniert und ich kann es über das Netzwerk sehen. (ubuntu)
Aber jetzt habe ich einen zweiten Computer mit Apache24 (Windows (Computer 2)) und ich konfiguriere die httpd.conf-Datei, die ich
LoadModule wsgi_module modules/mod_wsgi.so
Listen 8000
Listen 80
und dann öffne ich httpd-vhosts.conf und hier stecke ich fest. Ich möchte, dass die vhosts.conf die django-Instanz abruft, die vom runserver ausgeführt wird.
Below ist die httpd-vhost.conf
<VirtualHost 192.xxx.x.4:8000>
ServerAdmin danielsauceda34@gmail.com
ServerName 192.xxx.x.4
ServerAlias http://192.168.1.4
<Directory /home/daniel/Develop/Workspaces/mgi/mdcs>
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias / /home/daniel/Develop/Workspaces/mgi/mdcs/mgi.wsgi
<Directory /home/daniel/Develop/Workspaces/mgi/mdcs/static/>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
Und meine wsgi.py ist die folgende
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mgi.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Wenn mir jemand helfen könnte, das herauszufinden, würde ich es sehr schätzen
FAQ
Q: Warum auf 2 Computern? A: Sicherheitsrichtlinie.
Q: warum benutzt du nicht einfach ngnix? A: Ich könnte annehmen, dass Stack 2 der richtige ist. aber irgendwann wird apache benötigt.