【问题标题】:using django with https using apache使用 django 和 https 使用 apache
【发布时间】:2011-12-31 04:31:27
【问题描述】:

我在运行 arch linux 的机器上使用 Apache 2.2.21 和 mod_wsgi。我想使用具有 https 功能的 django。我还安装了 python2.7 和 python 3.2。项目的 django.wsdi 文件如下所示。当我尝试使用 https 但不使用 django 访问示例文件时,它工作正常。当我尝试使用 https 从 django 项目中获取文件时,出现以下错误 - ImportError: No module named django.core.handlers.wsgi

当我 cd 到 /usr/lib/httpd/modules 并执行 ldd mod_wsgi.so 时,我得到以下显示它是针对 python 3.2 编译的。但是django不支持python 3.2只有2.7。

我该如何解决这个问题?

感谢任何帮助/指针。

$ldd mod_wsg.so
    linux-vdso.so.1 =>  (0x00007fff769e1000)
    libpython3.2mu.so.1.0 => /usr/lib/libpython3.2mu.so.1.0 (0x00007f82a3188000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007f82a2f6b000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007f82a2d66000)
    libutil.so.1 => /lib/libutil.so.1 (0x00007f82a2b63000)
    libm.so.6 => /lib/libm.so.6 (0x00007f82a28e1000)
    libc.so.6 => /lib/libc.so.6 (0x00007f82a2559000)
    /lib/ld-linux-x86-64.so.2 (0x00007f82a37e5000)

django.wsdi 文件: 导入操作系统 导入系统

os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

path = '/to/mysite'
if path not in sys.path:
    sys.path.append(path)

【问题讨论】:

    标签: python django apache mod-wsgi


    【解决方案1】:

    安装针对 Python 2.7 编译的 mod_wsgi 版本。 mod_wsgi模块一次只能绑定一个Python版本,不能动态改变用途,只能在编译时设置。

    如果你真的想在不同的时间使用不同的 Python 版本,你将无法使用单个 Apache/mod_wsgi 实例。

    【讨论】:

      猜你喜欢
      • 2018-06-25
      • 2021-06-18
      • 1970-01-01
      • 2020-10-11
      • 2010-09-07
      • 2012-08-22
      • 2013-05-03
      • 2014-10-11
      • 1970-01-01
      相关资源
      最近更新 更多