• ImportError: Failed to import test module, как решить?

    @BorisBurkov
    Скорее всего, у Вас есть файл __init__.py в корне джанго-проекта, которого там быть не должно.

    Убираете его - и тесты заработают, все модули найдутся.
    Ответ написан
    Комментировать
  • Как автоматически запустить Django на Nginx + Uwsgi?

    @BorisBurkov
    На Debian 8 я делал так:

    Nginx после перезагрузки всает сам по дефолту. Вот его конфиги: /etc/nginx/sites-available/mysite.conf и его симлинк /etc/nginx/sites-enabled/mysite.conf:

    upstream django {
        server unix:///tmp/mysite.sock;
    }
    
    server {
        listen  80;
        server_name mysite.me www.mysite.me;
        charset utf-8;
    
        client_max_body_size 75M;
    
        location /media {
            alias /srv/mysite/mysite/media;
        }
    
        location /static {
            alias /srv/mysite/static;
        }
    
        location / {
            uwsgi_pass django;
            include /etc/nginx/uwsgi_params;
        }
    }


    Эта конфигурация nginx раздает статику и медиа непосредственно из /media и /static и разговаривает с апстримовским django через unix-domain сокет /tmp/mysite.sock.

    Теперь uwsgi. Он запускается при ребуте из rc.local в режиме emperor из-под пользователя www-data:
    В `rc.local` просто добавляю строку:

    /usr/bin/uwsgi --emperor /etc/uwsgi/apps-enabled/mysite.conf --uid www-data --gid www-data


    В `/etc/uwsgi/sites-available` (и гиперлинк на него в `/etc/uwsgi/sites-enabled`) файлик mysite.ini:

    [uwsgi]
    chdir = /srv/mysite
    module = mysite.wsgi:application
    
    plugin = python
    # http = 0.0.0.0:8000 - use this to test uwsgi directly without nginx frontend
    socket = /tmp/mysite.sock
    chmod-socket = 664
    vacuum = true
    
    master = true
    need-app = true
    processes = 10
    harakiri  = 20
    max-requests = 5000
    Ответ написан