Django - Configuration d'Apache

Jusqu'à présent, dans nos exemples, nous avons utilisé le serveur web de développement Django. Mais ce serveur est juste pour les tests et n'est pas adapté à l'environnement de production. Une fois en production, vous avez besoin d'un vrai serveur comme Apache, Nginx, etc. Parlons d'Apache dans ce chapitre.

Le service des applications Django via Apache se fait en utilisant mod_wsgi. Donc, la première chose à faire est de vous assurer que vous avez Apache et mod_wsgi installés. Rappelez-vous, lorsque nous avons créé notre projet et que nous avons examiné la structure du projet, cela ressemblait à -

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

Le fichier wsgi.py est celui qui s'occupe du lien entre Django et Apache.

Disons que nous voulons partager notre projet (myproject) avec Apache. Nous avons juste besoin de configurer Apache pour accéder à notre dossier. Supposons que nous mettions notre dossier myproject dans la valeur par défaut "/ var / www / html". A ce stade, l'accès au projet se fera via 127.0.0.1/myproject. Cela entraînera Apache répertoriant simplement le dossier comme indiqué dans l'instantané suivant.

Comme on le voit, Apache ne gère pas les choses Django. Pour que cela soit pris en charge, nous devons configurer Apache dans httpd.conf. Alors ouvrez le httpd.conf et ajoutez la ligne suivante -

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>

Si vous pouvez accéder à la page de connexion en tant que 127.0.0.1/myapp/connection, vous verrez la page suivante -