簡體   English   中英

mod_wsgi守護進程模式,WSGIApplicationGroup和Python解釋器分離

[英]mod_wsgi daemon mode, WSGIApplicationGroup and Python interpreter separation

我有2個虛擬主機的Apache,每個主機都有一個使用mod_wsgi,守護進程模式連接的Django站點,如下所示:

<VirtualHost 123.123.123.123:80>
    WSGIDaemonProcess a.com user=x group=x processes=5 threads=1
    WSGIProcessGroup a.com
    WSGIApplicationGroup %{GLOBAL}
</VirtualHost>

<VirtualHost 123.123.123.123:80>
    WSGIDaemonProcess b.com user=x group=x processes=5 threads=1
    WSGIProcessGroup b.com
    WSGIApplicationGroup %{GLOBAL}
</VirtualHost>

我使用WSGIApplicationGroup %{GLOBAL}是因為Xapian存在已知問題

現在,如果我了解幕后發生了什么,mod_wsgi會為我的每個站點啟動5個守護進程。 我可以在Apache日志中看到這個:

[info] mod_wsgi (pid=8106): Attach interpreter ''.
[info] mod_wsgi (pid=8106): Adding '.../lib/python2.5/site-packages' to path.
[info] mod_wsgi (pid=8106): Enable monitor thread in process 'a.com'.
[info] mod_wsgi (pid=8106): Enable deadlock thread in process 'a.com'.

[info] mod_wsgi (pid=8107): Attach interpreter ''.
[info] mod_wsgi (pid=8107): Adding '.../lib/python2.5/site-packages' to path.
[info] mod_wsgi (pid=8107): Enable monitor thread in process 'a.com'.
[info] mod_wsgi (pid=8107): Enable deadlock thread in process 'a.com'.

...

我不明白的是,如果那些"Attach interpreter ''"行表明所有這些進程共享相同的Python解釋器,或者每個進程有一個解釋器。 (順便說一下,我意識到空解釋器名稱''是由%{GLOBAL}傳遞給WSGIApplicationGroup引起的。

我試着檢查是否可能在后續進程中累積sys.path條目,但是他們沒有 - 這可能表明5個守護進程中的每一個都有一個單獨的Python解釋器......但我不太了解所有這些事情所以我問這里。

'pid'值不同。 它們處於不同的過程中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM