Django - Configuração do Apache

Até agora, em nossos exemplos, usamos o servidor web de desenvolvimento Django. Mas este servidor é apenas para teste e não é adequado para ambiente de produção. Uma vez em produção, você precisa de um servidor real como Apache, Nginx, etc. Vamos discutir o Apache neste capítulo.

Servir aplicativos Django via Apache é feito usando mod_wsgi. Portanto, a primeira coisa é ter certeza de que o Apache e o mod_wsgi estão instalados. Lembre-se, quando criamos nosso projeto e olhamos para a estrutura do projeto, parecia -

myproject/
   manage.py
   myproject/
      __init__.py
      settings.py
      urls.py
      wsgi.py

O arquivo wsgi.py é quem cuida do link entre Django e Apache.

Digamos que queremos compartilhar nosso projeto (myproject) com o Apache. Precisamos apenas configurar o Apache para acessar nossa pasta. Suponha que colocamos nossa pasta myproject no padrão "/ var / www / html". Nesta fase, o acesso ao projeto será feito via 127.0.0.1/myproject. Isso resultará no Apache apenas listando a pasta conforme mostrado no instantâneo a seguir.

Como visto, o Apache não está lidando com coisas do Django. Para que isso seja feito, precisamos configurar o Apache em httpd.conf. Portanto, abra o httpd.conf e adicione a seguinte linha -

WSGIScriptAlias / /var/www/html/myproject/myproject/wsgi.py
WSGIPythonPath /var/www/html/myproject/

<Directory /var/www/html/myproject/>
   <Files wsgi.py>
      Order deny,allow
      Allow from all
   </Files>
</Directory>

Se você puder acessar a página de login como 127.0.0.1/myapp/connection, verá a seguinte página -