使用自定义mod_wsgi和python,对共享服务器的访问权限有限

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

我已经获得了运行Apache 2.4.18的Ubuntu机器的访问权,目的是托管我在Flask中开发的一个小型Web应用程序。我是没有root权限的用户。系统管理员已经为我安装了mod_wsgi,但是这个模块与系统python链接,版本为2.7,我想使用python> = 3.6。因此我在这台机器上编译了我自己的python 3.7和我自己的mod_wsgi,并且在使用Apache时遇到了麻烦。这可能吗?

我已经尝试将LoadModule wsgi_module .../mod_wsgi-py37.cpython-37m-x86-64-linux-gnu.so线添加到var/www/html/whatever/.htaccess,但已经了解到这在配置的Directory级别是不允许的。我也尝试过使用WSGIDaemonProcess user python-home=...,但这也会导致Apache返回内部服务器错误。

更糟糕的是,我对var/log/apache2没有权限,所以我看不到任何Apache输出,除了它的服务。

是否有可能将Apache指向我自己的mod_wsgipython二进制文件而无法访问Apache或系统的根配置?如果没有,有任何解决方法吗?

python apache mod-wsgi
1个回答
1
投票

AFAIK,您只能在任何时候使用单个版本的mod_wsgi运行Apache。这意味着所有应用程序必须使用相同版本的Python,这是我之前遇到的问题。我认为你的选择是:

a)说服系统管理员切换到您的版本。可以使用与系统Python不同的Python版本。

b)看看像Gunicorn这样的东西。这与Apache更加分离,因此允许应用程序在同一台服务器上使用不同版本的Python。

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