В моем предыдущем вопросе я спросил, как заставить mod_wsgi использовать определенную версию Python. Следуя ответу на этот вопрос, я создал виртуальную среду Python 3.9 и заставил WSGI использовать ее. Однако теперь мое приложение Flask вообще не работает — я просто настроил страницу 404 для остальной части моего сайта. Я не получаю ошибок при перезапуске Apache2, и журнал ошибок Apache пуст, когда я захожу на сайт. Я думаю, что ошибка должна быть связана с моей виртуальной средой, так как я создал предыдущие тестовые приложения Flask, прежде чем использовать тот же стиль конфигурации.
Моя виртуальная среда находится в путь/к/моему/приложению/venv/
.
путь/к/моему/приложению/runner.wsgi
:
импорт системы
# Заставить что-то появиться в журнале ошибок, если WSGI вообще запущен
поднять ValueError()
PROJECT_DIR = os.path.dirname(os.path.realpath(__file__))
sys.path.insert(0, PROJECT_DIR)
из my_app импортировать приложение как приложение
Часть /etc/apache2/сайты-доступны/000-по умолчанию-ле-ssl.conf
:
WSGIDaemonProcess myapp user=www-data group=www-data threads=4 python-home=/path/to/my/app/venv/
WSGIScriptAlias /my-app/путь/к/my/app/runner.wsgi
/etc/apache2/моды доступны/wsgi.load
LoadModule wsgi_module "/path/to/my/app/venv/lib/python3.9/site-packages/mod_wsgi/server/mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so"
WSGIPythonHome "путь/к/моему/приложению/venv"
ОС: Ubuntu 18.04.5 LTS