我在我的 Debian/Apache/Python2.6/Django 设置上让 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 = ''
根据文档,这表明未使用守护程序模式。我多次检查了我的设置,Apache、mod_wsgi 和 Python 的版本是匹配的,根据我在那里读到的所有 HOWTO,我的设置是正确的。我会错过什么?
编辑:仅供参考,我的应用程序在嵌入式模式下运行良好,我只是想切换到守护程序模式,发现它没有使用上面的 wsgi 脚本激活。