На 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