我以这种方式配置了我的开发服务器:
Ubuntu,Apache,mod_wsgi,Python 2.6
我从连接到它的另一台计算机上处理服务器。
除非我重新启动Apache,否则大多数情况下更改不会影响应用程序。 在某些情况下,更改会在不重新启动Web服务器的情况下生效,但在让我们说3或4页加载后,应用程序可能会像以前在更改之前的行为一样。
到现在为止,我只是在每次apache重新加载,因为我在这里有开发服务器,但是HELL过了一段时间后非常讨厌。我怎么能避免这个?
我无法使用开发服务器,因为我需要一个尽可能接近生产环境的环境。
由于
答案 0 :(得分:14)
我的建议是你以守护进程模式运行应用程序。
这样您就不需要重启apache了,
只需touch my_handler.wsgi
并且守护程序将知道重新启动应用程序。 apache httpd不仅仅是你的(在生产中)所以不公平,不要在每次更新时重启它。
答案 1 :(得分:7)
没有任何更改需要您重新启动。您只需使用“sudo /etc/init.d/apache2 reload”重新加载。我把bashrc中的别名变为'a2reload'。
function a2reload (){
sudo /etc/init.d/apache2 reload
}
答案 2 :(得分:-1)
Apache在启动时加载Django环境,即使源更改也会继续运行它。
我建议您在繁重的开发会话中使用Django'rowserver'(它会在更改时自动重启),除非您需要一些特定于Apache的功能(例如多线程)。
另请注意,模板中的更改不需要重新启动Web服务器。