Django - Configuración de Apache

Hasta ahora, en nuestros ejemplos, hemos utilizado el servidor web dev Django. Pero este servidor es solo para pruebas y no es apto para entornos de producción. Una vez en producción, necesita un servidor real como Apache, Nginx, etc. Analicemos Apache en este capítulo.

El servicio de aplicaciones Django a través de Apache se realiza mediante mod_wsgi. Entonces, lo primero es asegurarse de tener Apache y mod_wsgi instalados. Recuerde, cuando creamos nuestro proyecto y miramos la estructura del proyecto, se veía así:

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

El archivo wsgi.py es el que se encarga del enlace entre Django y Apache.

Digamos que queremos compartir nuestro proyecto (myproject) con Apache. Solo necesitamos configurar Apache para acceder a nuestra carpeta. Supongamos que ponemos nuestra carpeta myproject en el predeterminado "/ var / www / html". En esta etapa, el acceso al proyecto se realizará a través de 127.0.0.1/myproject. Esto dará como resultado que Apache simplemente enumere la carpeta como se muestra en la siguiente instantánea.

Como se ve, Apache no está manejando cosas de Django. Para solucionar esto, necesitamos configurar Apache en httpd.conf. Entonces abra httpd.conf y agregue la siguiente línea:

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 puede acceder a la página de inicio de sesión como 127.0.0.1/myapp/connection, podrá ver la siguiente página: