我已经获得了运行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_wsgi
和python
二进制文件而无法访问Apache或系统的根配置?如果没有,有任何解决方法吗?
AFAIK,您只能在任何时候使用单个版本的mod_wsgi运行Apache。这意味着所有应用程序必须使用相同版本的Python,这是我之前遇到的问题。我认为你的选择是:
a)说服系统管理员切换到您的版本。可以使用与系统Python不同的Python版本。
b)看看像Gunicorn这样的东西。这与Apache更加分离,因此允许应用程序在同一台服务器上使用不同版本的Python。