0

当我的 python WSGI 应用程序的代码发生更改时,我应该使用 apache2 的重新加载还是正常重启功能?

目前我们使用重新加载,但注意到有时应用程序无法正确加载,即使模块已存在很长时间,与缺少模块有关的错误也会记录到错误文件中。

4

2 回答 2

0

'reload' 和 'graceful' 与重新加载 Web 应用程序的效果相同。如果您看到您描述的导入问题,则可能是您的应用程序代码中存在导入顺序依赖项或导入周期的问题。使用 Django 的人经常看到这一点。建议您实际发布您遇到的错误的示例。

于 2012-04-18T01:19:04.227 回答
0

如果可以的话,你应该使用优雅的。但是,如果您的应用程序没有正确退出,您可能必须通过重新启动来强制它。

对于 wsgi,您应该尝试在守护程序模式下运行。当它以守护程序模式运行时,您只需触摸 wsgi 文件并更新其时间戳即可重新启动服务。这将重新加载所有代码而无需重新启动 apache。

这里有更多信息:http ://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess

这适用于 django,但可能对您的项目有用:http ://code.google.com/p/modwsgi/wiki/IntegrationWithDjango

于 2012-04-17T20:18:49.397 回答