У меня проблемы с mod_wsgi + Django + Apache - PullRequest
0 голосов
/ 25 марта 2019

Мы развернули приложение Python 3 в Django 2.1.2 на сервере Debian Stretch.Если мы запустим /usr/bin/python3 manage.py runserver 0:8000 в каталог приложения, он будет работать правильно.

Затем мы пытаемся обслуживать приложение, используя mod_wsgi для Apache.Мы не используем virtualenv.Версия mod_wsgi, которую мы используем, - 4.6.5, а версия Apache - 2.4.Но mod_wsgi + Apache не использует Django, поэтому index.html выглядит следующим образом:

{% if user.is_authenticated %} Hello {{ user.first_name }} вместо страницы со стилями CSS, изображениями и т. Д.

My /etc/apache2/sites-available/myapp.conf содержание:

<VirtualHost *:80>
Servername myapp
DocumentRoot /home/project/myapp/myapp/templates/myapp
WSGIScriptAlias /myapp /home/project/myapp/myapp/wsgi.py
WSGIDaemonProcess myapp
WSGIProcessGroup myapp

<Directory /home/project/myapp>
AllowOverride All
Require all granted
</Directory>

</VirtualHost>

1 Ответ

0 голосов
/ 25 марта 2019

Здесь есть пара ошибок.

Во-первых, вам абсолютно не следует устанавливать DocumentRoot в каталог шаблонов.На самом деле, вы не должны устанавливать его вообще;удалите эту строку.

Во-вторых, вы настроили свое приложение на использование префикса "myapp".Я сомневаюсь, что ты хотел сделать это;Похоже, вы просто хотите, чтобы ваше приложение работало в корне.Поэтому удалите это из псевдонима:

WSGIScriptAlias / /home/project/myapp/myapp/wsgi.py
...