Я использую mod_wsgi с pipenv и pyenv. Я установил python 3.7 с PYTHON_CONFIGURE_OPTS="--enable-shared"
и mod_wsgi, используя pipenv в моем virtualenv.
Следующая конфигурация работает нормально во встроенном режиме, и я хотел бы перейти в режим демона, но он не работает.
вот мой apache файл конфигурации (я использую экземпляр amazon linux 2, centOS):
LoadModule wsgi_module "/home/ec2-user/.local/share/virtualenvs/azerty-WnQlE_oq/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so"
User ec2-user
WSGIPythonHome "/home/ec2-user/.local/share/virtualenvs/azerty-WnQlE_oq"
WSGIPythonPath "/home/ec2-user/workspace/azerty"
<VirtualHost *:80>
ServerName 10.10.10.10
WSGIScriptAlias / /home/ec2-user/workspace/azerty/project/wsgi.py
WSGIDaemonProcess staging processes=5
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
<Directory /home/ec2-user/workspace/azerty/project>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
Alias /media/ /home/ec2-user/workspace/files/media/
Alias /static/ /home/ec2-user/workspace/files/static/
<Directory /home/ec2-user/workspace/files/media>
Require all granted
</Directory>
<Directory /home/ec2-user/workspace/files/static>
Require all granted
</Directory>
</VirtualHost>
Я искал, и все проблемы, которые я обнаружил, касаются файла и разрешения на папки. Я решил проблему с User ec2-user
. Эта же директива должна работать как опция для WSGIDaemonProcess
. Эта директива процесса-демона игнорируется. Мне нужно перезагрузить apache, чтобы обновить код (вместо прикосновения к файлу wsgi), и если я заменю параметры WSGIPythonHome
и WSGIPythonPath
с python-home
и python-path
в директиве WSGIDaemonProcess
, это не работает вообще (я получаю ошибки кодирования, что означает, что python интерпретатор не найден правильно).
Любая помощь очень ценится! Заранее спасибо