Servir Django para um servidor apache remoto
computador 2 = win-64bit
computador 1 = ubuntu 14.04
Django = 1.7 (no computador 1) (roda dentro de um virtualenv)
python = python 2.7
Apache = apachehaus 2.4 (no computador 2)
Basicamente, o que estou tentando fazer é ter um par Django Apache em computadores separados.
então o computador 1 é o ubuntu executando o django e o computador 2 é o windows executando o apache24
Sou muito novo no material de desenvolvimento para web, mas acredito que seria semelhante ao seguinte:
Pilha 1 de acesso à web -> Apache-Loaded-mod_wsgi (computador 2) -> Django (computador 1)
ou é? Eu realmente não tenho ideia.
Pilha 2 de acesso à web -> Apache (computador 2) -> Apache-Loaded-mod_wsgi (computador 1) -> Django (computador 1)
Se eu fizer:
python mangage.py runserver 192.xxx.x.4:8000
funciona e eu posso vê-lo através da rede. (ubuntu)
Mas agora tenho um segundo computador com apache24 (windows (computer 2)) e configuro o arquivo httpd.conf I
LoadModule wsgi_module modules/mod_wsgi.so
Listen 8000
Listen 80
e então abro o httpd-vhosts.conf e é aqui que fico preso. Eu quero que o vhosts.conf obtenha a instância do django que está sendo executada no servidor de execução.
Abaixo está o httpd-vhost.conf
<VirtualHost 192.xxx.x.4:8000>
ServerAdmin [email protected]
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>
E meu wsgi.py é o seguinte
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mgi.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Se alguém pudesse me ajudar a descobrir isso, eu apreciaria muito
Perguntas frequentes:
P: Por que em 2 computadores? A: política de segurança.
P: por que você não usa o ngnix? R: Eu posso assumir que a pilha 2 é a correta. mas o apache é necessário em algum momento.