Django - Настройка Apache

До сих пор в наших примерах мы использовали веб-сервер Django dev. Но этот сервер предназначен только для тестирования и не подходит для производственной среды. После запуска вам понадобится настоящий сервер, такой как Apache, Nginx и т. Д. Давайте обсудим Apache в этой главе.

Обслуживание приложений Django через Apache осуществляется с помощью mod_wsgi. Итак, первым делом убедитесь, что у вас установлены Apache и mod_wsgi. Помните, когда мы создавали наш проект и смотрели на структуру проекта, он выглядел так:

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

Файл wsgi.py отвечает за связь между Django и Apache.

Допустим, мы хотим поделиться нашим проектом (myproject) с Apache. Нам просто нужно настроить Apache для доступа к нашей папке. Предположим, мы поместили нашу папку myproject в папку по умолчанию «/ var / www / html». На этом этапе доступ к проекту будет осуществляться через 127.0.0.1/myproject. Это приведет к тому, что Apache просто перечислит папку, как показано на следующем снимке.

Как видно, Apache не обрабатывает Django. Чтобы об этом позаботиться, нам нужно настроить Apache в httpd.conf. Итак, откройте httpd.conf и добавьте следующую строку -

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>

Если вы можете получить доступ к странице входа как 127.0.0.1/myapp/connection, вы увидите следующую страницу -