首页 > 为什么修改django代码后需要重启apache才能生效?

为什么修改django代码后需要重启apache才能生效?

如题,怎么避免这个问题?


先说明一个题主的理解误区: 代码改了,就需要重启服务,之所以apache需要重启,是因为apache没有像开发环境那样自动重启服务;需要重启apache也不能算得上是一个需要避免的"问题",因为它这样是合理的,并不是错误。
开发模式里,settings.py 中 debug=True 所以题主在编辑代码的时候,会自动重启服务, apache一般是正式环境使用,它的设定就是提供持续稳定的服务响应,跟django本身没有直接关系,它不会去检测代码变化,另外,作为一个生产服务,它也不需要考虑代码更新自动重启服务的问题,那时开发环境干的事情。


开发环境中以debug模式运行的时候,django会加载reloader,这样代码修改了以后自动重新加载方便开发。既然你说的是apache,那应该是生产环境或者模拟生产环境的测试环境了,那么为了效率是不会加载reloader的,就要在更新以后手动重启,这对于生产环境并没有什么不便,因为生产环境不会几分钟就改一次,一般是按照开发计划到了一定的milestone经过足够测试之后才用部署工具上线新版本的。

系统运维的开发时两套不同的技能。纯开发人员还是需要学习一些运维相关的知识,了解运维的思路,才能理解生产环境的一些工作方式和习惯的。


你可以写脚本,每次修改后自动重启apache

【热门文章】
【热门文章】