【问题标题】:Alternative to WSGIDaemonProcess & WSGIProcessGroup for WindowsWindows 的 WSGIDaemonProcess 和 WSGIProcessGroup 的替代品
【发布时间】:2015-10-16 19:25:37
【问题描述】:

我在我的 Windows 机器上安装了以下内容(一切都是 64 位):

然后我使用 virtualenv 在虚拟环境中安装了 Django(v1.8.3)。我使用 django-admin 创建了 two 项目,并为此创建了 two VirtualHost。一切都很完美。现在我想为第二个项目使用不同的环境,但是虽然 Windows 不支持 WSGIDaemonProcessWSGIProcessGroup 我不知道该怎么做那个。

WSGIPythonPath "C:/_pythonDev/project1;C:/_pythonDev/project2;C:/_pythonDev/env1/Lib/site-packages"
<VirtualHost *:80>
  ServerName one.local.com

  WSGIScriptAlias / "C:/_pythonDev/project1/project1/wsgi.py"

  <Directory "C:/_pythonDev/project1/project1">
    <Files wsgi.py>
      Require all granted
    </Files>
  </Directory>
</VirtualHost>

<VirtualHost *:80>
  ServerName two.local.com

  WSGIScriptAlias / "C:/_pythonDev/project2/project2/wsgi.py"

  <Directory "C:/_pythonDev/project2/project2">
    <Files wsgi.py>
      Require all granted
    </Files>
  </Directory>
</VirtualHost>

所以,如果有人知道如何在不同的环境中运行 Django 项目,请指导我。

解决方案: click this link

【问题讨论】:

    标签: python django windows apache mod-wsgi


    【解决方案1】:

    你需要解决两件事。

    1. 不要在 Apache 配置中设置 WSGIPythonPath。激活 Python 虚拟环境并从 WSGI 脚本文件中设置 sys.path。

    2. 更改 WSGI 脚本文件,以免在 os.environ 中使用 setdefault(),否则会搞砸。

    阅读参考:

    【讨论】:

    • 它现在可以工作了。我从.conf 文件中删除了WSGIPythonPath,并在wsgi.py 本身中使用env\\Scripts\\activate_this.py 激活了环境。
    • 加载时间不稳定,有时甚至在使用WSGIImportScript后也需要10s。你也能帮我解决这个问题吗?
    • 您可以向 WSGIScriptAlias 提供进程组和应用程序组选项,而不是使用 WSGIImportScript,如果两者都存在,它将预加载脚本。这是否适用于 Windows,您只能将 application-group 提供给 WSGIScriptAlias 我不记得了。无论如何,对于有关加载时间的任何新问题,请在 SO 中创建一个新问题。在 WSGI 脚本文件中解释你在做什么。例如,是否从数据库中预加载数据。
    猜你喜欢
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    相关资源
    最近更新 更多