【发布时间】:2011-08-26 07:35:52
【问题描述】:
我终于在cherrypy和tornado下的windows上运行django了:django_cpserver和django-tornado
这是我的问题:
- 是否可以使用其中之一部署 django 项目?意思是;没有安全问题,没有速度问题...
- 如何使用nginx反向代理静态文件?我总是听说这种技术,但我只找到类似 Unix 的配置,如何在 windows 上做到这一点?
- 注意:如您所见,我没有提到 mod_wsgi,我不会使用 apache,我不知道为什么我不测试就讨厌它!但似乎 mod_wsgi 是修改 wsgi 文件以避免服务器重新启动的唯一方法(我所有的信息都是我从互联网上读到的......),我错了吗?如果是这样,如何用cherrypy做到这一点?
【问题讨论】:
-
您的声明“但似乎 mod_wsgi 是修改 wsgi 文件以避免服务器重启的唯一方法”没有多大意义。无论您使用哪种 Python 托管系统,如果您修改代码,则需要重新启动应用程序才能获取它。 Python 不像 PHP。在 PHP 中,您可以更改单个文件,并且它们将在下一次请求时自动获取而无需重新启动,但由于 Python 的工作方式,您无法在 Python 中执行此操作。
-
其实你可以用
mod_wsgi做到这一点。每次检测到文件已更改时,您都可以让它执行一种“软重置”,它只是重新加载 python 脚本而不重新启动整个服务器。 code.google.com/p/modwsgi/wiki/ReloadingSourceCode -
从头开始。从我刚刚发布的链接中:“因此,在 Windows 上获取代码更改的唯一方法是重新启动整个 Apache。”
-
Graham :所以只有当它是一个开发服务器时才重新加载,部署它是另一回事吗?无能:所以这里又是windows的问题:'(
-
自动重新加载仅推荐用于开发服务器,因为持续检查会给服务器带来负载,而对于生产服务器,当您将更改应用为结果代码的一半时,您不希望它重新加载可能无法运行,您会搞砸您的生产系统。触摸 WSGI 脚本或重新加载 Apache 可以让您准确控制何时加载新代码,这对于生产来说更加安全。
标签: django windows-xp nginx cherrypy tornado