I've been trying to integrate a DJANGO-REST WS into apache using MOD_WSGI, but after some long hours of trying to apply all debugging techniques and different wsgi scripts, I would appreciate some help.
Server version: Apache/2.2.22 (Ubuntu) Python 2.7.3 (default, Feb 27 2014, 19:58:35) MOD_WSGI Version: 3.3 Currently my WSGI file is the following: """ WSGI config for zighome_rest project. It exposes the WSGI callable as a module-level variable named ``application``. For more information on this file, see https://docs.djangoproject.com/en/1.6/howto/deployment/wsgi/ """ import os, sys sys.path.append('/usr/local/ZigHomeWS') sys.path.append('/usr/local/ZigHomeWS/zighome_rest') os.environ.setdefault("DJANGO_SETTINGS_MODULE", "zighome_rest.settings") import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler() and my virtual host is configured as below: <VirtualHost *:80> ServerAdmin [email protected] ServerName my.server.name DocumentRoot /usr/local/DummyApp WSGIDaemonProcess ZigHomeWS python-path=/usr/local/ZigHomeWS/zighome_rest:/usr/lib/python2.7:/usr/local/lib/python2.7/site-packages/django WSGIProcessGroup ZigHomeWS WSGIApplicationGroup %{GLOBAL} WSGIScriptAlias /ZigHomeWS /usr/local/ZigHomeWS/zighome_rest/zighome_rest/WSGI/django.wsgi WSGIPassAuthorization On <Directory /usr/local/ZigHomeWS/zighome_rest> <Files wsgi.py> Order deny,allow Allow from all </Files> </Directory> <Directory /usr/local/DummyApp> Order deny,allow Allow from all </Directory> ErrorLog /var/log/apache2/error_ZigHomeWS.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel info </VirtualHost> As soon as I call one of the services, with curl, like so: curl -X POST http://my.server.name/ZigHomeWS/execution/start/ -u user:passwd I get the following error logged: [Sat Sep 27 19:15:28 2014] [info] mod_wsgi (pid=13351): Adding '/usr/local/ZigHomeWS/zighome_rest' to path. [Sat Sep 27 19:15:28 2014] [info] mod_wsgi (pid=13351): Adding '/usr/lib/python2.7' to path. [Sat Sep 27 19:15:28 2014] [info] mod_wsgi (pid=13351): Adding '/usr/local/lib/python2.7/site-packages/django' to path. [Sat Sep 27 19:15:32 2014] [info] [client 46.189.221.224] mod_wsgi (pid= 13351, process='ZigHomeWS', application=''): Loading WSGI script '/usr/local/ZigHomeWS/zighome_rest/zighome_rest/WSGI/django.wsgi'. [Sat Sep 27 18:15:33 2014] [error] No handlers could be found for logger "django.request" [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] mod_wsgi (pid= 13351): Exception occurred processing WSGI script '/usr/local/ZigHomeWS/zighome_rest/zighome_rest/WSGI/django.wsgi'. [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] Traceback (most recent call last): [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 187, in__call__ [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] response = self.get_response(request) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 199, inget_response [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] response = self.handle_uncaught_exception(request, resolver, sys.exc_info()) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 236, inhandle_uncaught_exception [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] return debug. technical_500_response(request, *exc_info) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/views/debug.py", line 91, in technical_500_response [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] html = reporter.get_traceback_html() [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/views/debug.py", line 350, in get_traceback_html [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] return t. render(c) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 148, in render [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] return self. _render(context) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 142, in _render [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] return self. nodelist.render(context) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 844, in render [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] bit = self. render_node(node, context) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/template/debug.py", line 80, in render_node [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] return node. render(context) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/template/debug.py", line 90, in render [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] output = self .filter_expression.resolve(context) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 624, in resolve [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] new_obj = func(obj, *arg_vals) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/template/defaultfilters.py", line 769, indate [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] return format (value, arg) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/utils/dateformat.py", line 343, in format [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] return df. format(format_string) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/utils/dateformat.py", line 35 , in format [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] pieces.append (force_text(getattr(self, piece)())) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/utils/dateformat.py", line 268, in r [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] return self. format('D, j M Y H:i:s O') [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/utils/dateformat.py", line 35 , in format [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] pieces.append (force_text(getattr(self, piece)())) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/utils/encoding.py", line 85, in force_text [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] s = six. text_type(s) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 144, in__text_cast [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] return func(* self.__args, **self.__kw) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/__init__.py" , line 83, inugettext [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] return _trans .ugettext(message) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py" , line 325,in ugettext [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] return do_translate(message, 'ugettext') [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py" , line 306,in do_translate [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] _default = translation(settings.LANGUAGE_CODE) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py" , line 209,in translation [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] default_translation = _fetch(settings.LANGUAGE_CODE) [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py" , line 189,in _fetch [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] "The translation infrastructure cannot be initialized before the " [Sat Sep 27 18:15:33 2014] [error] [client 46.189.221.224] AppRegistryNotReady: The translation infrastructure cannot be initialized before the apps registry is ready. Check that you don't make non-lazy gettext calls at import time. I must confess that adding "/usr/local/lib/python2.7/site-packages/django" was just a measure of desperation, which end-up by resulting on nothing. One thing I should probably mention, although it shouldn't make any difference of the solution, is that the core system is actually a C++ system which I wrapped up with SWIG. Needless to say, it's working on the Django-REST development environment. Last but not least, if in the WSGI script file I change these two lines: import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler() by these: from django.core.wsgi import get_wsgi_application application = get_wsgi_application() It will crash instead of providing the stack trace in the log file: [Sat Sep 27 19:44:10 2014] [error] [client X.X.X.X] Premature end of script headers: django.wsgi I end up applying some debugging the recommended debugging techniques but unfortunately it wasn't very helpful, since the stack-trace of gdb just gave me: (gdb) cont Continuing. [New Thread 0x7fc6d4de9700 (LWP 9312)] [New Thread 0x7fc6d45e8700 (LWP 9313)] [Thread 0x7fc6dde3a700 (LWP 9242) exited] [Thread 0x7fc6d45e8700 (LWP 9313) exited] [Thread 0x7fc6d4de9700 (LWP 9312) exited] [Thread 0x7fc6dd639700 (LWP 9245) exited] [Thread 0x7fc6e364a740 (LWP 9216) exited] [Inferior 1 (process 9216) exited with code 01] I hope you can provide me with some help Thank you -- You received this message because you are subscribed to the Google Groups "modwsgi" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/modwsgi. For more options, visit https://groups.google.com/d/optout.
