wsgi在weblate + apache2 + wsgi设置中找不到virtualenv中的模块。

问题描述 投票:0回答:1

我让weblate在开发模式下用:8000运行,但我无法让它在虚拟环境下用wsgi在apache2中运行,在那里一切都正常。但是我无法让它在apache2的虚拟环境中用wsgi运行,而在那里一切都正常。

基于apache的错误,它甚至找不到安装的django.我这样做了,但看到另一个错误的缺失模块.很明显,wsgi不尊重virtualenv中对python模块的搜索。

我的服务器是Ubuntu 19.04。

请赐教。

<VirtualHost *:80>
    ServerName xxyyzz.com

    # DATA_DIR/static/favicon.ico
    Alias /favicon.ico xxyyzz/weblate-env/lib/python3.7/site-packages/data/static/favicon.ico

    # DATA_DIR/static/
    Alias /static/ xxyyzz/weblate-env/lib/python3.7/site-packages/data/static/
    <Directory xxyyzz/weblate-env/lib/python3.7/site-packages/data/static/>
        Require all granted
    </Directory>

    # DATA_DIR/media/
    Alias /media/ xxyyzz/weblate-env/lib/python3.7/site-packages/data/media/
    <Directory /home/weblate/data/media/>
        Require all granted
    </Directory>

    # Path to your Weblate virtualenv
    WSGIDaemonProcess weblate python-path=xxyyzz/weblate-env
    WSGIProcessGroup weblate
    WSGIApplicationGroup weblate

    WSGIScriptAlias / xxyyzz/weblate-env/lib/python3.7/site-packages/weblate/wsgi.py process-group=weblate
    WSGIPassAuthorization On

    <Directory xxyyzz/weblate-env/lib/python3.7/site-packages/weblate/>
        <Files wsgi.py>
        Require all granted
        </Files>
    </Directory>

</VirtualHost>

同上。https:/docs.weblate.orgenlatestadmininstall.html

python-3.x apache virtualenv wsgi weblate
1个回答
0
投票

原来这个例子的配置是错误的,应该是使用了 python-path 而不是 python-home 对于 WSGIDaemonProcess. 我刚刚 在Weblate中修正了这一点 而你可能也需要在你的配置中进行这样的改变。

© www.soinside.com 2019 - 2024. All rights reserved.