apache生命周期是怎样的?

时间:2011-08-11 10:01:41

标签: apache mod-wsgi

作为我学习过程的一部分,我认为如果我对我对apache的了解有了更多的了解,那将是一件好事。我有几个问题,虽然我知道其中一些内容可能需要一个相当冗长的解释,但我希望你能提供一个概述,所以我知道去哪里看。 (最好参考mod_wsgi)我在google上搜索后已经阅读了一些资源,而且我知道从那里到达,所以请耐心等待。

  1. 在收到http请求之前,期间和之后,apache生命周期是什么样的?它是否会生成一个新的子进程来完成工作,或者在其中一个子进程中创建一个线程?

  2. 默认情况下,apache是​​否在www-data下运行?因此,如果是这种情况,如果我想将项目文件夹下的目录用于日志,我可以只将文件夹组更改为www-data并允许写访问权限?

  3. 在被apache调用后,python解释器运行的用户是什么?那些由Popenmultiprocessing创建的流程会在哪些流程下运行?

  4. 我跑了ps U www-data。为什么有这么多流程

  5.   

    S 0:00 / usr / sbin / apache2 -k start

2 个答案:

答案 0 :(得分:2)

Apache mpm prefork模块在一个进程中处理一个连接。为了快速处理连接而不是按需生成进程,apache维护一个进程池。这就解释了为什么在流程列表中看到如此多的流程。如果连接进入,则将其传递给已存在的进程之一。

此处提供了更多信息:http://httpd.apache.org/docs/2.0/en/mod/prefork.html

问题2)的答案是肯定的,apache总是作为www-data运行,你可以通过将其组权限更改为www-data来授予对任何目录的访问权。

答案 1 :(得分:1)