在生产环境中运行 nginx 反转回 apache mpm-prefork/mod_wsgi,我看到90apache 子进程,当我期望 40 是最大值时,如下配置。配置/设置没什么令人兴奋的:
- nginx 通过反向代理到 apache
proxy_pass
,并提供静态媒体
- apache只服务动态请求
相关nginx配置:
worker_processes 15;
events {
worker_connections 1024;
}
keepalive_timeout 10;
相关的阿帕奇配置:
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
我错过了什么吗?
mod_wsgi 守护进程看起来像是 Apache 服务器子进程,尽管它们并不相同。这是因为 mod_wsgi 守护进程是 Apache 父进程的分支,而不是 fork/exec。换句话说,它们的可执行文件名称不会改变。
为了能够区分 mod_wsgi 守护进程和普通 Apache 服务器子进程,请向 WSGIDaemonProcess 提供“display-name”选项。此选项允许您将进程重命名为可在“ps”程序和某些程序变体(如“top”)的输出中查看。请参阅 mod_wsgi 站点上的 WSGIDaemonProcess 指令文档。
http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)