2013-02-19 76 views
0

我在使用守護進程模式在我的Debian/Apache/Python2.6/Django安裝程序中運行mod_wsgi時遇到問題。在我的虛擬主機配置文件中我有Apache/mod_wsgi守護進程模式不起作用

<VirtualHost *:80> 

    ServerName mysite.com 

    WSGIDaemonProcess mysite.com processes=2 threads=15 
    WSGIProcessGroup mysite.com 

    WSGIScriptAlias//path/to/mysite/wsgi/django.wsgi 

    <Directory /path/to/mysite/wsgi/> 
    Order deny,allow 
    Allow from all 
    </Directory> 

</VirtualHost> 

設置。爲了測試的守護模式激活,我用這個WSGI腳本:

import sys 
import os 

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings') 

def application(environ, start_response): 
    print >> sys.stderr, 'mod_wsgi.process_group = %s' % repr(environ['mod_wsgi.process_group']) 

    from django.core.handlers.wsgi import WSGIHandler 
    _application = WSGIHandler() 

    return _application(environ, start_response) 

和生成的日誌文件總是說:

mod_wsgi.process_group = '' 

其中,accroding該文件,表示不使用守護進程模式。我檢查了我的設置多次,Apache的版本,mod_wsgi和Python匹配,根據我讀過的所有HOWTO,我的設置是正確的。我可能會錯過什麼?


編輯:僅供參考我的應用程序中嵌入模式運行良好,我只是想切換到後臺模式,並發現它是使用上述WSGI腳本沒有被激活。

回答

1

事實證明,一個符號鏈接沒有正確設置,所以我的配置更改從未在Apache中加載。對不起浪費你的時間,我想我在發佈之前徹底檢查了一切。

0

mod_wsgi.process_group = ''意味着您仍然在嵌入模式下運行(如您所注意的)。 mod_wsgi守護進程模式將不會在Apache 1.x上工作,所以我假定您正在運行2.x(正如您也注意到的)。

你可以嘗試設置Apache的

LogLevel info 

,以便有在日誌文件中更多有用的信息。我也假設你已經被迫阿帕奇重新啓動

# /etc/init.d/apache2 restart 

這不應該是在守護進程模式需要的那麼多,但如果你在嵌入模式之前,你需要重新加載您的配置文件。

+0

你所有的假設都是真實的,並且在嘗試調試時反覆重啓apache。我還設置了'LogLevel info',沒有在日誌文件中顯示的附加信息。不幸的是,我仍然堅持這個問題... – 2013-02-19 11:53:48