Django New Relic uWSGI

  • Устанавливаем New Relic
    pip install newrelic
  • Лицензионный ключ берем из личного кабинета, генерируем конфигурацию
    newrelic-admin generate-config LICENSE-KEY newrelic.ini
  • В конфигурации правим название приложения
    # The appplication name. Set this to be the name of your
    # application as you would like it to show up in New Relic UI.
    # The UI will then auto-map instances of your application into a
    # entry on your home dashboard page.
    app_name = app.name
  • Модифицируем project/wsgi.py
    import os
    import newrelic.agent
    newrelic.agent.initialize('/path/to/newrelic.ini')
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")
    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()
    application = newrelic.agent.wsgi_application()(application)
  • Правим конфигурацию uwsgi.ini
    #module = django.core.handlers.wsgi:WSGIHandler()
    module = project.wsgi
    eval = import newrelic.agent, wsgi; application = newrelic.agent.wsgi_application()(wsgi.application)

django virtualenvs nginx uwsgi supervisor debian

Предполагается, что у нас уже есть настроенное виртуальное окружение virtualenv debian
nginx в стандартном репозитории Debian Squeeze старый, поэтому ставить будем из backports
/etc/apt/sources.list

deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
deb http://ftp.ru.debian.org/debian testing main non-free contrib
deb http://ftp.ru.debian.org/debian unstable main non-free contrib

/etc/apt/preferences

Package: *
Pin: release a=stable
Pin-Priority: 700
Package: *
Pin: release a=squeeze-backports
Pin-Priority: 675
Package: *
Pin: release a=testing
Pin-Priority: 650
Package: *
Pin: release a=unstable
Pin-Priority: 600

Указываем использовать stable по умолчанию

echo 'APT::Default-Release "stable";' > /etc/apt/apt.conf.d/default

Обновляем список репозиториев

aptitude update

Читать далее django virtualenvs nginx uwsgi supervisor debian