2013-02-08 136 views
8

我更改了一个.py文件和更改反映在本地开发。 Django服务器删除.pyc后。 生产服务器甚至没有.pyc这个特定的文件。尝试接触apache wsgi并重新启动apache的产品。服务器,但没有运气。 即使删除此.py文件也会使应用程序工作相同。有memcached安装,但我不知道它如何缓存,也有.git以及5个服务器托管 - 一个主要的4负载平衡器。Django代码更改没有反映在生产服务器上

问候!

+1

声音像页面被缓存在某处,如反向代理 – Tarilo

+0

请您详细说明并指定我可以尝试清除缓存的内容吗? –

+0

我不是系统管理员,所以我不能真正帮你解决具体问题 – Tarilo

回答

7

100%确定您正在查看正在进行更改的正确服务器?我知道这听起来很愚蠢,但是,你为什么不停止Apache,你仍然可以运行这个页面呢?如果你可以,那么你肯定没有正确的服务器。

如果不是,下次尝试重新加载Apache(这与重新启动不同)。

sudo service apache2 reload 

如果仍然不工作,然后发布您的Apache设置,如果必须找上了错误的文件夹到一个你推到。

+0

感谢... Reload做到了魔法,间歇性地工作,说出10次中的8次......任何建议如何永久修复...... –

+1

这取决于您是否收到错误。它可能会给你一个想法 –

+0

正如@Tarilo在对问题的评论中提到的,浏览器缓存静态c意图有时可能会产生同样的问题。和我一样,我对网页CSS的更改没有在制作中显示出来。浪费大约20分钟寻找问题,直到Tarilo的评论提醒我清除立即解决问题的缓存。不是这个具体问题的解决方案,但它可以为他人节省一些时间。 –

2

你如果使用uwsgi在uwsgi设置 网关设置的触摸重载参数去重新启动服务器(WSGI,UWSGI或任何你在生产环境中使用)

+0

服务器已经硬启动,并且apache重新启动。 WSGI也必须重新启动?对不起,我对WSGI的事情并不了解。只是从其他类似的帖子阅读它。 –

+0

如果您重新启动服务器,则不需要重新启动进程。如果这对你没有帮助,也许你还必须清理sources目录中的* .pyc文件。但我认为这足够了,如果你只是硬重启。 – Igor

+0

即使删除.py文件也不会影响。这意味着它肯定被缓存,并且没有.pyc对应于此。我甚至试过/ –

1

,你只需要

$ touch <your-touch-reload-file> 

在控制台反映变化

如果你使用Apache mod_python的使用或mod_wsgi的,你必须重新启动Apache应用更改

+0

使用mod_wsgi的... 试图/etc/init.d/apache2停止 然后/etc/init.d/apache2开始 仍然无法正常工作:( 即使增加一个新的URL没有按发现't work。肯定被缓存在某个地方! –

+0

@Levon你能提供或者指向我一个在uwsgi中触摸重新加载的例子么? – Nikhilesh

+0

@Nikhilesh http://uwsgi-docs.readthedocs.org/en/latest/Options.html #touch-reload – Alexey

相关问题