【发布时间】:2014-06-06 18:10:15
【问题描述】:
在过去的几周里,我的服务器变得越来越忙,我正在努力跟上需求,但在努力跟上需求方面做错了事。我有 2 个域:www.example.com 和 api.example.com 以及以下 httpd.conf 文件:
MaxSpareThreads 3
MinSpareThreads 1
ServerLimit 1
ThreadsPerChild 15
WSGIDaemonProcess api python-path=/path/to/python2.7 processes=8 threads=15
<VirtualHost *:18546>
ServerName api.example.com
ServerAlias api.example.com
KeepAlive Off
WSGIDaemonProcess api.example.com processes=1 threads=20 inactivity-timeout=100 display-name=[api]httpd
WSGIProcessGroup api.example.com
WSGIScriptAlias / /path/to/wsgi.py
ErrorLog /path/to/error.log
</VirtualHost>
<VirtualHost *:18546>
ServerName www.example.com
ServerAlias www.example.com
KeepAlive Off
WSGIDaemonProcess www.example.com processes=1 threads=20 inactivity-timeout=10 display-name=[www]httpd
WSGIProcessGroup www.example.com
WSGIScriptAlias / /path/to/wsgi2.py
ErrorLog /path/to/error2.log
</VirtualHost>
当我在 linux 中查看我的进程列表时,我看到了以下进程:
[www]httpd
[api]httpd
/path/to/api/
/path/to/api/
/path/to/api/
/path/to/api/
/path/to/api/
/path/to/api/
/path/to/api/
/path/to/api/
api 子域似乎正在生成子域,但 www 子域没有。我做错了什么?
编辑:使用 Apache 2.2.25
【问题讨论】:
-
我不确定,但我看到你在配置顶部有
WSGIDaemonProcess api ... processes=8,而你的其他WSGIDaemonProcess指令有processes=1。这可能就是为什么有 8 个 api 进程和 1 个其他进程的原因(即,因为这是你要求 Apache 做的)。 -
是的,www 有 1 个进程,api 有 1 个进程。但是为什么api有8个线程而www没有呢?
-
我最终放弃了 apache 换成了 nginx。更容易配置,IMO。
标签: apache configuration apache2.2