【问题标题】:Couldn't set up mod_wsgi for my Apache and Django无法为我的 Apache 和 Django 设置 mod_wsgi
【发布时间】:2019-08-23 08:08:50
【问题描述】:

需要在 Windows 上为我的 XAMPP Apache 和 Django 项目设置 mod_wsgi 的指南。我正在使用 Python 3.7.3(win32)、Django 2.2.3 和 Apache 2.4.39(win64)。 在我设置“MOD_WSGI_APACHE_ROOTDIR=C:\xampp\apache\bin”并 pip install mod_wsgi 后出现错误。我不确定我在这一步做错了什么?

了解 Visual Code 14.0。下载了还是报错。

   ERROR: Command errored out with exit status 1:
     command: 'c:\program files (x86)\python37-32\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\CHEEHO~1\\AppData\\Local\\Temp\\pip-install-41s5l0d2\\mod-wsgi\\setup.py'"'"'; __file__='"'"'C:\\Users\\CHEEHO~1\\AppData\\Local\\Temp\\pip-install-41s5l0d2\\mod-wsgi\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\CHEEHO~1\AppData\Local\Temp\pip-record-um32pphd\install-record.txt' --single-version-externally-managed --compile
         cwd: C:\Users\CHEEHO~1\AppData\Local\Temp\pip-install-41s5l0d2\mod-wsgi\
    Complete output (33 lines):
    c:\program files (x86)\python37-32\lib\distutils\dist.py:274: UserWarning: Unknown distribution option: 'bugtrack_url'
      warnings.warn(msg)
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-3.7
    creating build\lib.win32-3.7\mod_wsgi
    copying src\__init__.py -> build\lib.win32-3.7\mod_wsgi
    creating build\lib.win32-3.7\mod_wsgi\server
    copying src\server\apxs_config.py -> build\lib.win32-3.7\mod_wsgi\server
    copying src\server\environ.py -> build\lib.win32-3.7\mod_wsgi\server
    copying src\server\__init__.py -> build\lib.win32-3.7\mod_wsgi\server
    creating build\lib.win32-3.7\mod_wsgi\server\management
    copying src\server\management\__init__.py -> build\lib.win32-3.7\mod_wsgi\server\management
    creating build\lib.win32-3.7\mod_wsgi\server\management\commands
    copying src\server\management\commands\runmodwsgi.py -> build\lib.win32-3.7\mod_wsgi\server\management\commands
    copying src\server\management\commands\__init__.py -> build\lib.win32-3.7\mod_wsgi\server\management\commands
    creating build\lib.win32-3.7\mod_wsgi\docs
    copying docs\_build\html\__init__.py -> build\lib.win32-3.7\mod_wsgi\docs
    creating build\lib.win32-3.7\mod_wsgi\images
    copying images\__init__.py -> build\lib.win32-3.7\mod_wsgi\images
    copying images\snake-whiskey.jpg -> build\lib.win32-3.7\mod_wsgi\images
    running build_ext
    building 'mod_wsgi.server.mod_wsgi' extension
    creating build\temp.win32-3.7
    creating build\temp.win32-3.7\Release
    creating build\temp.win32-3.7\Release\src
    creating build\temp.win32-3.7\Release\src\server
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.22.27905\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -IC:\xampp\apache\bin/include "-Ic:\program files (x86)\python37-32\include" "-Ic:\program files (x86)\python37-32\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.22.27905\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.22.27905\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcsrc/server\mod_wsgi.c /Fobuild\temp.win32-3.7\Release\src/server\mod_wsgi.obj
    mod_wsgi.c
    C:\Users\Chee Hong\AppData\Local\Temp\pip-install-41s5l0d2\mod-wsgi\src\server\wsgi_apache.h(42): fatal error C1083: Cannot open include file: 'httpd.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.22.27905\\bin\\HostX86\\x86\\cl.exe' failed with exit status 2
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\program files (x86)\python37-32\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\CHEEHO~1\\AppData\\Local\\Temp\\pip-install-41s5l0d2\\mod-wsgi\\setup.py'"'"'; __file__='"'"'C:\\Users\\CHEEHO~1\\AppData\\Local\\Temp\\pip-install-41s5l0d2\\mod-wsgi\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\CHEEHO~1\AppData\Local\Temp\pip-record-um32pphd\install-record.txt' --single-version-externally-managed --compile Check the logs for full command output.

我需要在 Apache Web 服务器上部署我的 Django。

【问题讨论】:

  • 如果您使用的是 Apache 64 位版本,您需要使用 64 位版本的 python 编译您的 mod_wsgi。
  • 是这个 python 版本:Windows x86 可执行安装程序还是 Windows x86-64 可执行安装程序?
  • x86 是 32 位版本。您需要获取此版本:python.org/ftp/python/3.7.4/python-3.7.4-amd64.exe 它可能会询问您要安装的版本,因此您必须选择 64 位。
  • 好的,谢谢你的帮助,但你知道我还有什么其他问题吗? :(
  • 但是我的 python 3.7.3 安装设置是 64 位的,我刚刚检查过

标签: django apache xampp mod-wsgi windows-10-desktop


【解决方案1】:

在 windows 中,Django 项目的 apache 配置与 Ubuntu 略有不同。 我们找不到 windows 的 mod_wsgi.so 模块以将其作为 LoadModule 包含在 apache httpd.conf 中。 或者,我们可以进行以下设置以在 apache 服务器中成功运行 Django 项目。

  1. 安装最新版本的 apache

  2. https://github.com/GrahamDumpleton/mod_wsgi下载mod_wsgi源代码

  3. 激活 python 虚拟环境

  4. cd 到它下载的 mod_wsgi 文件夹

  5. 运行以下命令 python setup.py install

    mod_wsgi包安装在python虚拟环境中

  6. 现在必须在 apache 的 httpd.conf 文件中包含一些配置才能运行 Web 应用程序。所以,运行以下命令 mod_wsgi-express 模块配置

  7. 命令的输出是-

加载文件“c:/path_to/python37.dll” 加载模块 wsgi_module "d:/virtual_environment/lib/site-packages/mod_wsgi-4.7.1-py3.7-win-amd64.egg/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd" WSGIPythonHome "d:/virtual_environment" 将上述内容包含在 apache httpd.conf 文件中。

  1. 现在要在 apache 中运行 django 的 web 应用程序,还需要进行一些配置 在 apache httpd.conf 文件中完成。在windows中运行守护进程是 不可能。因此,或者 httpd.conf 设置信息可以 可以在 django 的官方链接中找到 https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/modwsgi/

设置完成,web 应用将在 apache 中成功运行!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 2013-12-23
    • 2014-03-02
    • 2014-11-29
    • 2012-04-22
    • 2014-05-11
    • 1970-01-01
    相关资源
    最近更新 更多