2024-06-02 11:36:25 发布
网友
我在Apache+mod_python上运行一个Django应用程序。当我对代码进行一些更改时,有时它们会立即生效,有时则不会,直到我重新启动Apache。不过,我真的不想这么做,因为它是一个生产服务器运行其他东西。有别的办法来强迫吗?
为了说明这一点,因为我看到有些人弄错了,所以我说的是一个生产环境。当然,对于开发,我使用的是Django的开发服务器。
正如其他人所建议的,改用mod_wsgi。要通过触摸WSGI脚本文件或通过查找代码更改的监视器获得自动重新加载的能力,必须在UNIX上使用守护进程模式。在使用嵌入式模式时,可以在Windows上使用少量的hand来实现相同的功能。所有详情见:
http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode
通过在httpd.conf文件中设置“MaxRequestsPerChild 1”,可以将连接数减少到1。但只能在测试服务器上执行,而不是在生产环境中。
或者
如果您不想终止现有连接并仍然重新启动apache,您可以通过“优雅地”执行“apache2ctl”来“优雅地”重新启动它-将允许所有现有连接完成。
如果可能,您应该切换到mod_wsgi。无论如何,这现在是为Django服务的recommended way,在内存和服务器资源方面效率更高。
在mod wsgi中,每个站点都有一个与其关联的.wsgi文件。要重新启动站点,只需touch相关文件,并且只会重新加载该代码。
.wsgi
touch
正如其他人所建议的,改用mod_wsgi。要通过触摸WSGI脚本文件或通过查找代码更改的监视器获得自动重新加载的能力,必须在UNIX上使用守护进程模式。在使用嵌入式模式时,可以在Windows上使用少量的hand来实现相同的功能。所有详情见:
http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode
通过在httpd.conf文件中设置“MaxRequestsPerChild 1”,可以将连接数减少到1。但只能在测试服务器上执行,而不是在生产环境中。
或者
如果您不想终止现有连接并仍然重新启动apache,您可以通过“优雅地”执行“apache2ctl”来“优雅地”重新启动它-将允许所有现有连接完成。
如果可能,您应该切换到mod_wsgi。无论如何,这现在是为Django服务的recommended way,在内存和服务器资源方面效率更高。
在mod wsgi中,每个站点都有一个与其关联的
.wsgi
文件。要重新启动站点,只需touch
相关文件,并且只会重新加载该代码。相关问题 更多 >
编程相关推荐