Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django+;阿帕奇公司;mod_wsgi:更改后必须重新启动apache_Python_Django_Apache_Mod Wsgi_Django Wsgi - Fatal编程技术网

Python Django+;阿帕奇公司;mod_wsgi:更改后必须重新启动apache

Python Django+;阿帕奇公司;mod_wsgi:更改后必须重新启动apache,python,django,apache,mod-wsgi,django-wsgi,Python,Django,Apache,Mod Wsgi,Django Wsgi,我通过以下方式配置了我的开发服务器: Ubuntu、Apache、mod_wsgi、Python 2.6 我从连接到服务器的另一台计算机上处理服务器 大多数情况下,除非我重新启动Apache,否则更改不会影响应用程序。 在某些情况下,更改在不重新启动Web服务器的情况下生效,但在3或4页加载之后,应用程序的行为可能与更改之前的行为相同 直到现在,我每次都会重新加载apache,因为我这里有开发服务器,但过了一段时间,地狱变得如此烦人。我怎样才能避免这种情况 我无法使用开发服务器,因为我需要一个与

我通过以下方式配置了我的开发服务器:

Ubuntu、Apache、mod_wsgi、Python 2.6

我从连接到服务器的另一台计算机上处理服务器

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

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

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


谢谢

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

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

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


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

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

function a2reload (){
sudo /etc/init.d/apache2 reload
}

如果使用
优雅
,则不会对其他请求产生不利影响。在任何情况下,正如OP所指出的,这只适用于他的开发服务器,对吗?我看到
优雅的
会干扰流媒体请求,尽管这可能是特定于我们的设置。我应该在哪里创建此文件?显示您的相关配置文件。我最想看到的是启动django应用程序的mod_wsgi脚本。这篇博文可能会帮助你:…这:只是确认一下,在你上一篇¨当你说你不能使用开发服务器时,你的意思是使用
manage.py runserver
?Raz帖子中的第二个链接提供了一个脚本,每当文件发生更改时自动重新加载项目,这意味着既不需要重新启动apache,也不需要使用runserver。很抱歉,我误读了帖子并给出了Windows的答案,它不支持守护进程模式。这是一个怎样的解决方案?