无法为我的Apache和Django设置mod_wsgi

时间:2019-08-23 08:08:50

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

需要在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安装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。

1 个答案:

答案 0 :(得分:0)

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

  1. 安装最新版本的apache

  2. https://github.com/GrahamDumpleton/mod_wsgi

  3. 下载mod_wsgi源代码
  4. 激活python虚拟环境

  5. cd到下载的mod_wsgi文件夹

  6. 运行以下命令 python setup.py安装

    mod_wsgi软件包已安装在python虚拟环境中

  7. 现在必须将某些配置包含在apache的httpd.conf文件中才能运行Web应用程序。因此,运行以下命令 mod_wsgi-express module-config

  8. 命令的输出是-

LoadFile“ 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的网络应用,必须进行一些其他配置 在apache httpd.conf文件中完成。在Windows中运行守护进程的过程是 不可能。因此,也可以使用httpd.conf设置信息 在django的官方链接中找到 https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/modwsgi/

设置完成,Web应用程序将在apache中成功运行!

相关问题