Python 安装mod_wsgi后XAMPP Apache不工作

Python 安装mod_wsgi后XAMPP Apache不工作,python,django,apache,xampp,mod-wsgi,Python,Django,Apache,Xampp,Mod Wsgi,你好。 我目前正在尝试使用XAMPP Apache在本地托管我的Django网站。我已经学习了好几本教程,但其中有一本是我的作品。我想知道你是否可以告诉我我错过了哪些步骤或做错了哪些步骤。以下是我的Django开发站点上安装的软件包的规格: Python=2.7.12,32位 Apache=2.4,32位 Visual C++版本9 操作系统:Windows 7 64位 以下是我遵循的程序: 从下载mod_wsgi。我尝试过[mod_wsgi-py26-vc9.so、mod_wsgi-p

你好。 我目前正在尝试使用XAMPP Apache在本地托管我的Django网站。我已经学习了好几本教程,但其中有一本是我的作品。我想知道你是否可以告诉我我错过了哪些步骤或做错了哪些步骤。以下是我的Django开发站点上安装的软件包的规格:

  • Python=2.7.12,32位
  • Apache=2.4,32位
  • Visual C++版本9
  • 操作系统:Windows 7 64位
以下是我遵循的程序:

  • 从下载mod_wsgi。我尝试过[mod_wsgi-py26-vc9.so、mod_wsgi-py27-vc9.so、mod_wsgi-win32-ap22py27-3.3.so和mod]**但似乎都不起作用

  • 将mod_wsgi文件重命名为mod_wsgi.so并将其保存到C:/xampp/apache/modules

  • 运行xampp并通过添加

    LoadModule wsgi_module modules/mod_wsgi.so
    
  • 我也试过了

        LoadModule mod_wsgi modules/mod_wsgi.so
    

    但仍然有相同的结果。XAMPP不会显示任何错误,但即使在重新启动XAMPP和机器本身后也不会运行Apache。我还尝试以管理员权限运行该应用程序,但它仍然无法运行。除了Apache之外,其他XAMPP模块也在工作。

    我通过在下载二进制文件并构建自己的二进制文件解决了这个问题。为此,我需要解压缩下载的zip文件,打开win32文件夹并阅读README.rst以获取说明

    摘自说明:

  • 了解您正在使用的windows和python版本(在我的例子中是windows 7 32位和python 2.7)
  • 安装适合您的Python版本的Microsoft C/C++编译器:
    • Python2.6-VC9
    • Python2.7-VC9
    • Python3.3-VC10
    • Python3.4-VC10
  • 启动VisualC++命令提示符和:

    • 导航回提取的mod_wsgi文件,找到适合Apache和Python组合的makefile(
      ap22py27-win32-VC9.mk
      )。如果您不确定您的Apache版本,请阅读本文或导航到localhost for WAMP
    • 编辑.mk文件并为APACHE_ROOTDIR和PYTHON_ROOTDIR定义正确的路径。例如:

      APACHE\u ROOTDIR=C:\xampp\APACHE

      PYTHON\u ROOTDIR=C:\Python27

    • 运行
      nmake-f apXYpyXY winNN VC?.mk安装
      。在每个选项中替换“XY”
      正在使用的Apache和Python版本的示例。替换为“NN”
      使用“32”或“64”并将“?”替换为“9”或“10”。示例:
      nmake-f ap22py27-win32-VC9.mk安装
      。该行为您的平台构建mod_wsgi,并将其安装到Apache安装的modules目录中

    • 在WAMP/XAMPP http.conf中添加以下行:
      LoadModule wsgi\u modules/mod\u wsgi.so

      WSGIPythonHome“C:/Python27”

      WSGIPythonPath“项目路径”

      WSGIApplicationGroup“%{GLOBAL}”

      WSGIPassAuthorization“开启”

    • 重新启动Apache或计算机,就可以开始了


    注意:您无需在python的已安装应用程序中添加mod_wsgi,因为它已安装在Apache服务器中

    不要使用该站点的任何内容,它是旧东西,但无法删除,因为Google不允许。请阅读中的说明并自行构建。您可能需要将
    MOD\u WSGI\u APACHE\u ROOTDIR
    设置为
    C:/xampp/APACHE
    。您仍然可以使用Python 2.7。不过我至少推荐Python 3.5。您好,先生!Hi已经按照您建议的步骤安装了mod_wsgi。mod_wsgi-express模块配置为Apache中的LoadModule{c:/python27/lib/site packages/mod_wsgi/server/mod_wsgiNone}生成了一条路径,我在httpd.conf中添加了该路径,重新启动了Apache,但它仍然无法工作。如果该行是这样出现的,那么它在您使用的旧Python版本中就不能正常工作。目录
    c:/python27/lib/site packages/mod_wsgi/server/mod_wsgi
    旁边的文件名是什么。应该有一个以
    mod_wsgi
    开头,以
    .pyd
    结尾的文件。它是该文件的路径,应该是
    LoadModule
    的参数。我不知道为什么它会输出旧Python版本的字典表示。它应该只是文件路径的一个参数,没有大括号等。我已经尝试使用easy_install再次安装它。它在站点包中生成mod_wsgi-4.5.14-py2.7-win32.egg目录。目录中有EGG-INFO和mod wsgi目录,然后在mod_wsgi/server中我可以找到mod_wsgi.pyd。当我运行mod_wsgi-express module config时,它会打印:LoadModule wsgi_module“c:/python27/lib/site packages/mod_wsgi-4.5.14-py2.7-win32.egg/mod_wsgi/server/mod_wsgiNone“WSGIPythonHome”c:/python27“我已经在http.conf中复制了LoadModule行,重新启动了我的Apache,但它仍然不工作。目录中是否有任何带有
    .pyd
    .pyo
    的文件。因此
    扩展名?win32目录中的内容已过时,请不要使用它。
    pip-install
    方法是更好的方法,也是目前Windows上以任何方式支持的唯一方法。问题在于,对于某些人来说,
    mod_wsgi-express module config
    的输出是错误的。找出
    pyd
    文件的正确路径并使用它。可能只是将
    None
    更改为
    .pyd
    。我更希望你坚持整理,使用mod_wsgi邮件列表进行讨论。StackOverflow是最不适合在需要讨论的地方帮助解决这些问题的地方。据猜测,仍然存在问题的原因是Python DLL需要强制加载。最近的
    mod_wsgi-express module config
    将生成一个
    LoadFile
    指令来执行此操作。谢谢,先生。我已经用这种方法安装了mod_wsgi