在设置django站点并在开发服务器上运行之后,我终于找到了使用推荐的mod_wsgi / apache22在生产环境中部署它的方法。我目前仅限于在Windows XP计算机上部署它。
我的问题是我编写的几个django视图使用python subprocess
模块在文件系统上运行程序。我在运行subprocess.Popen
时遇到了错误。我已经看到了几个提出过这个问题的SO问题,并且接受的答案是使用WSGIDaemonProcess来处理问题(由于apache用户的权限,我相信)。 / p>
唯一的问题是WSGIDaemonProcess在Windows上不适用于mod_wsgi。有什么方法可以一起使用mod_wsgi / apache / windows / subprocess吗?
答案 0 :(得分:1)
无论如何,从mod_wsgi中打开子进程并不是一个好主意。
另一种(和常见的)是在apache端使用mod_proxy并将请求从apache转发到运行Django的WSGI服务器。这样做的好处是可以将python线程从apache的内存空间中移出。wsgi servers有很多选项。龙卷风和gunicorn是两个流行的选择,gunicorn将*与Django整合在一起。
*通过集成我只是意味着它提供了一个manage.py命令,如果你将它添加到INSTALLED_APPS。
答案 1 :(得分:1)
我遇到了一些尝试在此配置下使用子进程的问题。由于我不确定你有什么特别的麻烦我可以分享一些我不容易解决的事情,但事后看来似乎很微不足道。
<type 'unicode'>
的类型(args)而不是我期望的字符串。快速转换解决了这个问题。