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

时间:2019-04-17 13:27:24

标签: python apache mod-wsgi

我已经可以访问运行Apache 2.4.18的Ubuntu计算机,以托管我在Flask中开发的小型Web应用程序。我是没有root特权的用户。系统管理员已经为我安装了mod_wsgi,但是此模块与2.7版的系统python链接,并且我想使用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或系统的根配置?如果没有,是否有任何解决方法?

1 个答案:

答案 0 :(得分:1)

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

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

b)看一下Gunicorn之类的东西。这与Apache更加分开,因此将允许应用程序在同一服务器上使用不同版本的Python。