mod_wsgi с pipenv работает во встроенном режиме, но не демон - PullRequest
0 голосов
/ 15 января 2020

Я использую 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 интерпретатор не найден правильно).

Любая помощь очень ценится! Заранее спасибо

...