【问题标题】:Problem cache with django/Wsgi apachedjango/Wsgi apache 的问题缓存
【发布时间】:2011-11-24 14:01:10
【问题描述】:

我正在使用 Django 项目开发 apache,但遇到了一些问题。当我修改文件时,有时我的修改不会被 apache 使用。我必须重新启动它才能应用我的修改。

如何强制在每个请求上重新加载所有文件?

谢谢

【问题讨论】:

  • "如何在每次请求时强制重新加载所有文件?" - 运行内置的 Django HTTP 服务器(./manage.py runserver)!这就是它的用途;)
  • 是的,但我必须使用 apache :) 但是谢谢!

标签: django apache caching


【解决方案1】:

阅读:

http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode

它解释了有关代码重新加载如何/何时在 Apache/mod_wsgi 下工作的所有信息(如果您正在使用)。

【讨论】:

  • 编辑您的原始问题并提供您的 Apache 配置的 mod_wsgi 部分。你可能错过了一些东西。如果您实际上解释了您使用的文档中的内容以及您正在修改的文件,您说没有从中获取更改,那么 Plus 将有所帮助。换句话说,您没有为我们提供足够的信息来帮助您了解为什么给出的解决方案不起作用。
  • 我使用了 MaxRequestsPerChild 1,那是我想念的。谢谢!
【解决方案2】:

如果你在本地运行开发环境,你应该使用 django 包提供的内置 HTTP 服务器:

https://docs.djangoproject.com/en/1.2/intro/tutorial01/#the-development-server

这将重新加载所有更改。如果您正在运行此开发服务器,您还需要告诉它服务器您的媒体文件:

https://docs.djangoproject.com/en/dev/howto/static-files/#serving-static-files-in-development

开发服务器不应该用于服务器实时代码,因此当您在生产服务器上启动代码时,您将始终需要使用 apache/nginx(并且必须随时重新启动服务器才能看到变化)

【讨论】:

  • 没有办法强制apache每次都重新加载文件吗?因为我的本地服务器是带有 VMWare 的 debian。
  • 我相信我的老老板(相当铁杆)说没有办法。我同意,这真的很奇怪:/ 据我所见,仅使用内置的 Django 开发服务器实际上在各方面都是一个很好的解决方案。
【解决方案3】:

格雷厄姆刚刚明白了:-)

您需要Daemon Mode 来解决您的问题。

请继续阅读:

Reloading Source Code

【讨论】:

    猜你喜欢
    • 2018-03-05
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    • 2020-05-29
    • 2018-10-24
    • 2011-12-19
    相关资源
    最近更新 更多