带有mod_wsgi的Apache 2.2 / Redhat 2.6

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

我在使用当前设置配置mod_wsgi时遇到问题。

Redhat 2.6.32

安装设置为非root用户:

  • Apache 2.2(试图获得2.4,但没有访问yum的依赖关系太多)
  • Python 3.6

我似乎已成功将mod_wsgi安装到/ apache / modules中。

问题:

  • apache目录结构不是大多数教程所指出的,它的 DocumentRoot位于/ apache / htdocs中,而不是/ var / www /或/ sites-enabled /或/ sites / available /
  • 我尝试在httpd.conf中输入:LoadModule wsgi_module modules/mod_wsgi.so,但我回复了:$HOME/apache/modules/mod_wsgi.so into server: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory

任何人都可以解释我如何使用mod_wsgi与我当前的设置?

mod-wsgi redhat python-3.6 apache2.2
2个回答
0
投票

你的libpython3.6m.so.1.0不在apache的任何库路径中。

您可以将其符号链接到apache的库路径中的一个lib目录,或者您可以将libpython3.6m.so.1.0所在的目录添加到apache的库路径中。

请查看此问题以获取有关apache路径的帮助:https://serverfault.com/questions/151328/setting-apache2-path-environment-variable


0
投票

问题可能是因为您自编译了mod_wsgi并且您使用的Python安装位于非标准位置。在这种情况下,你需要在为mod_wsgi运行LD_RUN_PATH时设置make环境变量,并将其设置为Python库所在的目录。这样就可以了解Python库所在的知识嵌入在mod_wsgi中。 mod_wsgi文档中描述了此问题:

如果由于某种原因无法重建mod_wsgi,您还可以使用以下命令强制将Python共享库加载到Apache中:

LoadFile /some/path/lib/libpython3.6m.so.1.0

这应该位于mod_wsgi的LoadModule行之前。

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