我在使用当前设置配置mod_wsgi时遇到问题。
Redhat 2.6.32
安装设置为非root用户:
我似乎已成功将mod_wsgi安装到/ apache / modules中。
问题:
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与我当前的设置?
你的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
问题可能是因为您自编译了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
行之前。