【问题标题】:Cannot load mod_wsgi into server:无法将 mod_wsgi 加载到服务器中:
【发布时间】:2015-07-15 15:40:04
【问题描述】:

我想安装 mod_wsgi-4.4.11 以便我可以使用 Django 和 apache 进行本地 Web 开发,但我没有成功。这些是我在尝试安装 mod_wsgi-4.4.11 时采取的步骤/命令。我使用的是苹果系统的python版本。我根据 code.google.com/p/modwsgi/wiki/QuickInstallationGuide 的快速说明下载了 mod_wsgi-4.4.11。使用的步骤/命令如下:

1) 将 mod_wsgi 下载为 zip,cd 到文件夹 2)./configure 3) make 4) sudo make install 4) 添加行 LoadModule wsgi_module /usr/libexec/apache2/mod_wsgi.so 到 http.conf文件,停止并启动 apache 服务器 5) httpd -t.

我收到以下错误。

/private/etc/apache2/httpd.conf 第 172 行的语法错误:无法将 /usr/libexec/apache2/mod_wsgi.so 加载到服务器中:dlopen(/usr/libexec/apache2/mod_wsgi.so, 10) : Symbol not found: _PyBool_Type\n 引用自:/usr/libexec/apache2/mod_wsgi.so\n 预期在:flat namespace\n in /usr/libexec/apache2/mod_wsgi.so

我 cd 到 /usr/libexec/apache2 并运行 otool -L mod_wsgi.so 并且输出是:

mod_wsgi.so: /usr/lib/libSystem.B.dylib(兼容版本 1.0.0,当前版本 1213.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation(兼容版本150.0.0,当前版本1153.18.0) Daniels-MacBook-Pro:apache2 Daniel$

运行配置时的生成文件:

LDFLAGS = LDFLAGS = -L/Library/Frameworks/Python.framework/Versions/2.7/lib -L/Library/Frameworks/

LDLIBS = -lpython2.7 -ldl -framework CoreFoundation

有人建议我用pip安装mod_wsgi。我按照https://pypi.python.org/pypi/mod_wsgi/4.4.11 的说明进行操作。我采取的命令/行动如下: 1) 升级点到 6.1.1 2)pip install mod_wsgi(安装成功) 3) 运行 mod_wsgi-express 启动服务器 4) 收到错误:ValueError: unknown locale: UTF-8

当我运行 locale 命令时,LANG 变量被分配给任何东西,它看起来像这样: 朗 =

【问题讨论】:

  • 您使用的是 Apple 系统 Python 版本还是来自 brew 或其他包系统的版本?您使用的是什么版本的 mod_wsgi?您是否从以前从未编译过的新 mod_wsgi 源代码开始?您使用了哪些实际命令来编译/安装 mod_wsgi?
  • 我使用的是苹果系统python版本。我根据code.google.com/p/modwsgi/wiki/QuickInstallationGuide 的快速说明下载并尝试安装 mod_wsgi-4.4.11。使用的步骤/命令如下:将 mod_wsgi 作为 zip 下载,cd 到文件夹,运行 ./configure,make,sudo make install,将 LoadModule wsgi_module /usr/libexec/apache2/mod_wsgi.so 行添加到 http .conf 文件,停止并重新启动 apache 服务器,运行 httpd -t ....感谢您提供的任何帮助。
  • 修改你的问题并添加运行otool -L /usr/libexec/apache2/mod_wsgi.so的输出。
  • 要单独验证它是否应该工作,你也可以试试mod_wsgi的'pip'可安装版本。这不会触及您的系统 Apache。见pypi.python.org/pypi/mod_wsgi
  • 谢谢,我修改了这个问题。我会按照你的建议尝试 pip。

标签: python apache mod-wsgi httpd.conf


【解决方案1】:

我将系统状态恢复到安装 IDLE 之前的状态,按照上面列出的安装说明成功安装并加载了模块。然后我按照说明配置应用程序 (https://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide) 并成功打印出 hello world。由于配置指南有点混乱,我使用了 google 组 (https://groups.google.com/forum/#!forum/modwsgi),它在此过程中帮助回答了我的问题。万一有人有类似的问题。

【讨论】:

    猜你喜欢
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 2017-02-05
    • 2018-10-29
    • 2018-06-23
    • 2014-01-14
    • 2011-07-14
    相关资源
    最近更新 更多