在运行 nginx 的生产环境中,返回到 apache mpm-prefork/mod_wsgi,我看到90 个apache 子进程,而我预计最多 40 个,如下配置。配置/设置并不令人兴奋:
- nginx 通过反向代理到 apache
proxy_pass
,并提供静态媒体 - apache 只提供动态请求
相关的nginx配置:
worker_processes 15;
events {
worker_connections 1024;
}
keepalive_timeout 10;
相关的apache配置:
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule mpm_prefork_module>
StartServers 20
MinSpareServers 7
MaxSpareServers 10
MaxClients 200
MaxRequestsPerChild 0
</IfModule>
mod_wsgi 配置,webapp
进程名称在哪里:
WSGIDaemonProcess webapp user=www group=users threads=1 processes=40
我错过了什么吗?
我认为 Graham Dumpleton 最近可能在他的博客中回答了你的问题。
编辑
我想我应该指出,他的博客文章主要是关于 mod_python,但我认为他对 prefork 工作原理的解释可能会让您对额外进程的来源有所了解。