给出一个简单的apache2 conf,如下所示,django.wsgi何时执行?它似乎就像它只在第一次查询到达时执行而从不再执行。我期待它在apache启动时执行,然后再也不会。任何人都可以了解这是如何运作的吗?
WSGIDaemonProcess site-1 user=user-1 group=user-1 threads=25
WSGIProcessGroup site-1
WSGIScriptAlias / /usr/local/django/mysite/apache/django.wsgi
<Directory /usr/local/django/mysite/apache>
Order deny,allow
Allow from all
</Directory>
答案 0 :(得分:2)
WSGI脚本文件在技术上不会被执行但是会被导入。因此它们就像Python中的任何其他模块一样,它们被加载一次。在这种情况下,它会在请求首次到达并且需要由该WSGI脚本文件映射的应用程序时发生。
加载后,每个请求都会执行一次WSGI应用程序对象。
就某些情况下重新加载WSGI脚本文件而言,有一些例外。有关该说明的解释:
现在虽然加载了第一个请求需要它,但是你可以使用WSGIImportScript指令强制它在进程启动时加载:
或将process-group和application-group选项与WSGIScriptAlias指令一起使用。后者是在mod_wsgi 3.o。
中引入的