【问题标题】:hosting Django on Apache在 Apache 上托管 Django
【发布时间】:2020-04-02 12:48:05
【问题描述】:

我正在关注一个尝试在 apache 服务器上托管 Django 的教程,现在我终于使用 cmd 安装了 mod_wsgi,我尝试使用命令:

mod_wsgi-express 模块配置

现在我得到另一个窃听错误 - 这是:

  Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

(Adwy) C:\Users\Adwy>mod_wsgi-express module-config
Traceback (most recent call last):
  File "C:\Users\Adwy\AppData\Local\Programs\Python\Python35\Scripts\mod_wsgi-express-script.py", line 11, in <module>
    load_entry_point('mod-wsgi==4.5.20', 'console_scripts', 'mod_wsgi-express')()
  File "c:\users\adwy\appdata\local\programs\python\python35\lib\site-packages\pkg_resources\__init__.py", line 490, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "c:\users\adwy\appdata\local\programs\python\python35\lib\site-packages\pkg_resources\__init__.py", line 2859, in load_entry_point
    return ep.load()
  File "c:\users\adwy\appdata\local\programs\python\python35\lib\site-packages\pkg_resources\__init__.py", line 2450, in load
    return self.resolve()
  File "c:\users\adwy\appdata\local\programs\python\python35\lib\site-packages\pkg_resources\__init__.py", line 2456, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "c:\users\adwy\appdata\local\programs\python\python35\lib\site-packages\mod_wsgi\server\__init__.py", line 24, in <module>
    from . import apxs_config
  File "c:\users\adwy\appdata\local\programs\python\python35\lib\site-packages\mod_wsgi\server\apxs_config.py", line 27
    LIBEXECDIR = 'C:\xampp\apache\/lib'
                    ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated \xXX escape


我正在寻求帮助!

谢谢,

【问题讨论】:

    标签: python django apache wsgi


    【解决方案1】:

    看起来您可能需要使用正斜杠设置 MOD_WSGI_APACHE_ROOTDIR 环境变量。 示例:

    "C:/foo/bar/apache"
    

    要应用此更改,您需要重新安装 mod_wsgi:

    pip uninstall mod_wsgi
    pip install mod_wsgi
    

    【讨论】:

      【解决方案2】:

      看起来您可能需要使用 forward 斜杠设置 MOD_WSGI_APACHE_ROOTDIR 环境变量。例如:“C:/foo/bar/apache”

      看看这个问题,看起来类似: https://github.com/GrahamDumpleton/mod_wsgi/issues/345

      【讨论】:

      • 是的,我看到了,仔细看了一遍,我已经把目录设置为apache文件夹了,对mod_wsgi的pip安装就满足了 不过这里的这个错误好像和那个不一样尽管有相同的信息,但在 Github 上解决了。
      • readthedocs.org/projects/modwsgi/downloads/pdf/develop 的 mod_wsgi 文档中提到了一些关于手动复制文件以成功安装的内容,我也看到了 Github 上 GrahamDumpleton 的一些评论,但是:我不确定这是否是问题在这里,我不明白我需要复制哪些文件以及复制到哪里......我真的需要了解这一点并让它运行,
      • echo %MOD_WSGI_APACHE_ROOTDIR% 的输出是什么?
      • 嗨 Steven,我尝试回显目录,但它返回 %MOD_WSGI_APACHE_ROOTDIR% - 我希望我能解决这个问题,因为我想尝试测试服务器
      • 好的,因为我尝试按照您上面的建议使用正斜杠,然后再试一次 echo %MOD_WSGI_APACHE_ROOTDIR% ,我得到了目录的清晰路径:C:/xampp/apache/ 但是,现在我尝试在正确的目录中再次安装 mod_wsgi,但它通知我 Requirement already satisfied: .. ,我该如何卸载它以正确重新安装它?再次感谢您的帮助
      猜你喜欢
      • 2019-10-26
      • 2015-03-31
      • 2011-07-04
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 2011-08-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多