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

标签 python apache mod-wsgi

我已获得访问运行 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 或系统的根配置?如果没有,有什么解决方法吗?

最佳答案

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

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

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

关于python - 使用自定义 mod_wsgi 和 python 对共享服务器的访问受到限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55728668/

相关文章:

python - VirtualEnv apache2 服务器没有名为 'django' 的模块

Python 正在向输出添加额外的换行符

python - 如何沿曲线注释文本

php - Apache 不记录 php 错误

python - python-wsgi如何管理http请求?

python - 如何更改我的 Django 项目正在使用的 Python?

python - 无法将字符串转换为浮点Python值错误

python - 有没有办法通过 JavaScript 在我的网站中使用 TensorFlow 模型?

apache - mod_rewrite 使用专有协议(protocol)重定向到 URL

apache - 从 http 基本身份验证中排除特定的 cakephp Controller