我最近在家里的一台小机器上建立了一个小型个人网站。该机器运行的是Windows7、Apache2.4.12、Mod_WSGI 4.4.6和Python3.4.2。我注意到,如果网站最近没有被访问过,加载需要很长时间(20 - 30秒)。我认为问题的一部分是Apache在访问WSGI时懒惰地加载它。Apache帖子建议我可以让This在启动时强制加载WSGI,但随后显示了守护程序模式的示例,这是Linux独有的东西(?)。
我对httpd.conf文件所需的语法不是很熟悉,每次我尝试添加一行时,比如
WSGIImportScript "c:/.../wsgi.py“
Apache不会启动。windows是否支持WSGIImportScript?我没有链接到正确的东西吗?
我还认为我可以将WSGILazyInitialization设置为Off,然后完成同样的事情,但我也找不出正确的语法。
同样的,但有点离题,由于我的站点很小,有没有办法让Apache将所有的静态文件存储在RAM (<60MB)中,以便更快地访问?
谢谢!
发布于 2015-05-26 16:50:03
WSGILazyInitialization是完全无关的。
有关WSGIImportScript的说明,请参阅以下地址的文档:
但是你最好不要使用它。您可以通过将process-group和application-group参数都指定给WSGIScriptAlias来执行相同的操作。两者都已定义,它将产生副作用或预加载脚本文件。
WSGIScriptAlias /some/url /some/path/wsgi.py process-group=%{GLOBAL} application-group=%{GLOBAL}
更大的问题是,为什么Apache实例无论如何都要终止处理请求的进程。正常的Apache配置不会终止进程,它应该留在内存中。
顺便说一句,您可以将Apache LogLevel设置为info,以使mod_wsgi记录有关它何时加载脚本文件等的更多信息。
https://stackoverflow.com/questions/30448303
复制相似问题