Django + Apache 和 mod_wsgi:修改后需重启Apache
我把我的开发服务器配置成这样:
使用的是Ubuntu系统,Apache服务器,mod_wsgi模块,还有Python 2.6。
我从另一台连接到这个服务器的电脑上进行工作。
大多数情况下,做的修改不会立即影响应用程序,除非我重启Apache。有时候,修改会在不重启服务器的情况下生效,但过了3、4次刷新页面后,应用程序可能又会恢复到修改之前的状态。
到现在为止,我每次都得重启Apache,因为我在这里有开发服务器,但这样做真的很烦人。有没有办法避免这种情况?
我需要一个尽可能接近生产环境的开发服务器,才能正常工作。
谢谢!
3 个回答
0
当Apache启动时,它会加载Django的环境,并且即使你修改了源代码,它也会一直运行。
我建议在进行大量开发时使用Django的'runserver'(这个工具会在你修改代码时自动重启),除非你需要一些Apache特有的功能(比如多线程)。
另外,模板的修改不需要重启网络服务器。
7
没有任何更改需要你重启。 你只需要用“sudo /etc/init.d/apache2 reload”来重新加载。为了方便,我在我的bashrc文件里把这个命令简化成了'a2reload'。
function a2reload (){
sudo /etc/init.d/apache2 reload
}
25
我建议你以守护进程模式运行这个应用程序。这样你就不需要每次都重启apache,只需要执行一下 touch my_handler.wsgi
,守护进程就会知道要重启这个应用了。在生产环境中,apache httpd并不只是你一个人在用,所以每次更新的时候不重启它是比较合理的。