Django + Apache + Windows WSGIDaemonProcess 替代方案

2024-01-10

设置 django 站点并在开发服务器上运行后,我终于开始考虑使用推荐的 mod_wsgi/apache22 将其部署在生产环境中。我目前仅限于在 Windows XP 计算机上部署它。

我的问题是我编写的几个 django 视图使用 pythonsubprocess在文件系统上运行程序的模块。我在运行时不断收到错误subprocess.Popen我已经看到了几个关于此问题的问题,公认的答案是使用 WSGIDaemonProcess 来处理问题(我相信由于 apache 用户的权限)。

唯一的问题是 WSGIDaemonProcess 不适用于 Windows 上的 mod_wsgi。有什么方法可以一起使用 mod_wsgi/apache/windows/subprocess 吗?


无论如何,从 mod_wsgi 中打开子进程并不是一个好主意。

另一种选择(也是常见的一种)是在 apache 端使用 mod_proxy 并将来自 apache 的请求转发到运行 Django 的 WSGI 服务器。这样做的好处是可以将 python 线程移出 apache 的内存空间,有很多选项WSGI服务器 http://www.wsgi.org/wsgi/Servers; Tornado 和 Gunicorn 是两个流行的选择,gunicorn 与 Django 集成*。

*我所说的集成只是指如果您将其添加到 INSTALLED_APPS 中,它会提供一个 manage.py 命令。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django + Apache + Windows WSGIDaemonProcess 替代方案 的相关文章

随机推荐