29

我以这种方式配置了我的开发服务器:

Ubuntu、Apache、mod_wsgi、Python 2.6

我从另一台连接到服务器的计算机上工作。

大多数情况下,除非我重新启动 Apache,否则更改不会影响应用程序。在某些情况下,更改无需重新启动 Web 服务器即可生效,但假设在 3 或 4 个页面加载后,应用程序的行为可能与更改之前的行为相同。

到现在为止,我每次都重新加载 apache,因为我在这里有开发服务器,但是一段时间后地狱变得如此烦人。我怎样才能避免这种情况?

我无法使用开发服务器,因为我需要一个尽可能接近生产环境的环境。

谢谢

4

3 回答 3

20

我的建议是您以守护程序模式运行应用程序。这样你就不需要重启 apache,touch my_handler.wsgi守护进程就会知道重启应用程序。apache httpd 将不仅是您的(在生产中),因此不要在每次更新时重新启动它是公平的。

于 2010-11-17T15:42:55.267 回答
6

没有更改需要您重新启动。 您只需要使用“sudo /etc/init.d/apache2 reload”重新加载。我在我的 bashrc 中将其别名为“a2reload”。

function a2reload (){
sudo /etc/init.d/apache2 reload
}
于 2010-11-17T16:32:48.770 回答
-1

Apache 在启动时会加载 Django 环境,即使源代码发生更改,也会继续运行它。

我建议您在繁重的开发会话中使用 Django 'runserver'(更改时自动重新启动),除非您需要一些 Apache 特定的功能(例如多线程)。

另请注意,模板中的更改不需要重新启动 Web 服务器。

于 2010-11-17T15:44:14.747 回答