我的服務器在過去幾周變得越來越忙,我試圖跟上需求,但在努力跟上需求時做錯了事。我有兩個域:www.example.com和api.example.com及以下httpd.conf文件:如何使用虛擬主機擴展我的apache服務器?
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>
當我看着我的processlist在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要做的)。 – larsks
是的,www有1個進程,api有1個進程。但爲什麼有8個線程的API和沒有WWW的? –