代码之家  ›  专栏  ›  技术社区  ›  nemesisdesign

Django+apache&mod_wsgi:更改后必须重新启动apache

  •  25
  • nemesisdesign  · 技术社区  · 14 年前

    我是这样配置开发服务器的:

    Ubuntu,Apache,mod_wsgi,Python 2.6版

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

    大多数情况下,除非重新启动Apache,否则更改不会影响应用程序。 在某些情况下,这些更改在不重新启动web服务器的情况下生效,但在加载3或4页之后,应用程序的行为可能与更改之前的行为类似。

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

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

    谢谢

    3 回复  |  直到 14 年前
        1
  •  15
  •   vonPetrushev    14 年前

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

        2
  •  7
  •   RoosterJuice    14 年前

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

    function a2reload (){
    sudo /etc/init.d/apache2 reload
    }
    
        3
  •  -1
  •   Don    14 年前

    Apache在启动时加载Django环境,并在源代码更改时继续运行它。

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

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

    推荐文章