Я использую mod-wsgi с django, а в django я использую pylucene для полнотекстового поиска.jcc.initVM() не возвращается, когда mod_wsgi настроен как режим демона
В то время как mod-wsgi настроен на встраиваемый режим, проблем нет. Но когда mod-wsgi настроен на режим демона, apache просто застревает, и браузер просто продолжает загружаться, но ничего не появляется.
Тогда я идентифицирую проблему как jcc.initVM(). Вот мой WSGI сценарий:
import os, sys, jcc
sys.stderr.write('jcc.initVM\n')
jcc.initVM()
sys.stderr.write('finished jcc.initVM\n')
....
После того как я перезагрузить апач, и сделать запрос из моего браузера, я считаю, что /var/log/apache2/error.log только имеет:
jcc.initVM
Это означает, что он застревает на линии jcc.initVM(). (Если mod_wsgi сконфигурирован как встроенный режим, нет никаких проблем.)
А вот мой/и т.д./apache2/сайтов доступного/по умолчанию:
WSGIDaemonProcess site user=ross group=ross threads=1
WSGIProcessGroup site
WSGIScriptAlias//home/ross/apache/django.wsgi
<Directory /home/ross/apache/>
Order deny,allow
Allow from all
</Directory>
И, наконец, я считаю, что в исходный код ОКК (jcc.cpp), он висит на функции:
JNI_CreateJavaVM(&vm, (void **) &vm_env, &vm_args)
Как решить эту проблему?
версии программы:
libapache2-mod-wsgi 2.3-1
jcc 2.1
python 2.5
Apache 2.2.9-8ubuntu3
Ubuntu 8.10