Question

I'm running a Ubuntu server with uWSGI and Django for my web apps.

I have uWSGI running in Emperor mode, so that all I have to do is add an ini file, and uWSGI immediately runs everything for me. I have 2 other apps on the server, running the same way, but for some reason the app I put up today is failing.

I added the ini file with the following contents:

[uwsgi]
# variables
projectname = site
projectdomain = site.domain.com
base = /var/www/site.domain.com

# config
protocol = uwsgi
venv = %(base)/venv
pythonpath = %(base)/%(projectname)
module = %(projectname).wsgi
socket = /tmp/%(projectname).sock
chmod-socket = 666
logto = /var/log/uwsgi/%(projectname).log
plugins=python

The directory structure is setup like so:

/var/www/site.domain.com
|- site
|--| (Django app stuff)
|- venv
|--bin, include, lib, local

"site" includes everything that would normally be in a django-admin.py startproject, including another folder called "site" with the settings, urls, init, and wsgi files.

"venv" is a folder I store my virtual environment in (from python virtaulenv)

And like I said, this site is setup exactly the same as my other sites, however I keep getting this error in my log file:

Traceback (most recent call last):
  File "/var/www/site.domain.com/venv/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 187, in __call__
    def _get_get(self):
  File "/var/www/site.domain.com/venv/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 49, in load_middleware
    raise exceptions.ImproperlyConfigured('%s isn\'t a middleware module' % middleware_path)
  File "/var/www/site.domain.com/venv/local/lib/python2.7/site-packages/django/middleware/locale.py", line 24, in __init__
    translation.activate(language)
  File "/var/www/site.domain.com/venv/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 350, in url_patterns
    except TypeError:
django.core.exceptions.ImproperlyConfigured: The included urlconf site.urls doesn't have any patterns in it
[pid: 2705|app: 0|req: 6/7] 131.118.85.3 () {38 vars in 702 bytes} [Mon Jan 27 20:10:28 2014] GET / => generated 0 bytes in 0 msecs (HTTP/1.1 500) 0 headers in 0 bytes (0 switches on core 0)

Any ideas?

EDIT: urls.py

from django.conf.urls import patterns, include, url
from django.conf.urls.i18n import i18n_patterns
from django.contrib import admin
from django.conf import settings

admin.autodiscover()

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^ckeditor/', include('islam_site.ckeditor_urls')),
    url(r'^blog/', include('zinnia.urls')),
    (r'^comments/', include('django.contrib.comments.urls')),
    url(r'^comments/', include('django.contrib.comments.urls')),
    url(r'^', include('cms.urls')),
)

UPDATE: I striped the application out of uwsgi emperor, and used gunicorn to make sure it wasn't anything in emperor and this was the output:

gunicorn site.wsgi:application
2014-01-27 21:08:23 [336] [INFO] Starting gunicorn 18.0
2014-01-27 21:08:23 [336] [INFO] Listening at: http://127.0.0.1:8000 (336)
2014-01-27 21:08:23 [336] [INFO] Using worker: sync
2014-01-27 21:08:23 [341] [INFO] Booting worker with pid: 341
2014-01-28 02:08:27 [341] [ERROR] Error handling request
Traceback (most recent call last):
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/gunicorn/workers/sync.py", line 131, in handle_request
    respiter = self.wsgi(environ, resp.start_response)
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 187, in __call__
    self.load_middleware()
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 49, in load_middleware
    mw_instance = mw_class()
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/middleware/locale.py", line 24, in __init__
    for url_pattern in get_resolver(None).url_patterns:
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 346, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 341, in urlconf_module
    self._urlconf_module = import_module(self.urlconf_name)
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
    __import__(name)
  File "/var/www/domain/site/site/urls.py", line 6, in <module>
    admin.autodiscover()
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/contrib/admin/__init__.py", line 29, in autodiscover
    import_module('%s.admin' % app)
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
    __import__(name)
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/contrib/sites/admin.py", line 9, in <module>
    admin.site.register(Site, SiteAdmin)
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/contrib/admin/sites.py", line 92, in register
    admin_class.validate(model)
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/contrib/admin/options.py", line 105, in validate
    validator = cls.validator_class()
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/contrib/admin/validation.py", line 20, in __init__
    models.get_apps()
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/db/models/loading.py", line 139, in get_apps
    self._populate()
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/db/models/loading.py", line 75, in _populate
    self.load_app(app_name, True)
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/db/models/loading.py", line 99, in load_app
    models = import_module('%s.models' % app_name)
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
    __import__(name)
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/debug_toolbar/models.py", line 63, in <module>
    patch_root_urlconf()
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/debug_toolbar/models.py", line 51, in patch_root_urlconf
    reverse('djdt:render_panel')
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 480, in reverse
    app_list = resolver.app_dict[ns]
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 310, in app_dict
    self._populate()
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 262, in _populate
    for pattern in reversed(self.url_patterns):
  File "/var/www/domain/venv/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 350, in url_patterns
    raise ImproperlyConfigured("The included urlconf %s doesn't have any patterns in it" % self.urlconf_name)
ImproperlyConfigured: The included urlconf site.urls doesn't have any patterns in it

It looks like mostly the same error..

I'm considering just rebuilding the app step by step on the server to avoid this kind of problem.

Was it helpful?

Solution

I finally decided to simply redo the application from scratch, and everything seems to be working now. Whatever the problem was, I wasn't able to reproduce it in the new application.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top