Связка Nginx + uWSGI + Django
1) apt-get install uwsgi uwsgi-plugin-python
2) в /etc/nginx/sites-available/mysite.com
записать и подставить свои данные:
server {
listen 80;
server_name mysite.com www.mysite.com;
access_log /var/log/nginx/mysite.com_access.log;
error_log /var/log/nginx/mysite.com_error.log;
location / {
uwsgi_pass unix:///tmp/mysite.com.sock;
include uwsgi_params;
}
location /media/ {
alias /home/USER/projects/mysite/media/;
}
location /static/ {
alias /home/USER/projects/mysite/static/;
}
}
3) ln -s /etc/nginx/sites-available/mysite.com /etc/nginx/sites-enabled/
4)nano /etc/uwsgi/apps-available/mysite.com.ini
записать и подставить свои данные
[uwsgi]
vhost = true
plugins = python
socket = /tmp/mysite.com.sock
master = true
enable-threads = true
processes = 2
wsgi-file = /home/USER/projects/mysite/mysite/wsgi.py
chdir = /home/USER/projects/mysite
touch-reload = /home/USER/projects/mysite/reload
5)ln-s /etc/uwsgi/apps-available/mysite.com.ini /etc/uwsgi/apps-enabled/
6)/etc/init.d/nginx restart
7)/etc/init.d/uwsgi restart
Как только внесли изменения в views.py urls.py и settings.py перезапускаем uwsgi (/etc/init.d/uwsgi restart)
Установка и настройка PostgreSQL:
aptitude install postgresql
Создаем пользователя:
su postgres
createuser username
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n
Задаем пароль пользователю:
psql template1
template1=#
alter user username password 'user';
Задаем пароль суперпользователю баз данных:
ALTER ROLE postgres WITH ENCRYPTED PASSWORD 'megapass';
\q
Создаем базу данных для пользователя username:
createdb basename --owner=username -hlocalhost
Если появилась ошибка:
createdb: could not connect to database postgres: FATAL: no pg_hba.conf entry for host "10.78.89.142", user "postgres", database "postgres", SSL on
FATAL: no pg_hba.conf entry for host "10.78.89.142", user "postgres", database "postgres", SSL off
Выходим на уровень пользователя root, правим конфиг и рестартим сервис:
exit
echo "host all all 10.78.89.142/32 trust" >> /etc/postgresql/8.4/main/pg_hba.conf
service postgresql restart
Здесь добавляем возможность доступа с айпишника системы. На другой системе нужно будет выставить другой айпишник.
Далее снова заходим под пользователя postgres и повторяем создание базы данных:
su postgres
createdb basename --owner=username -hlocalhost
Если спросит пароль, то используется пароль для суперпользователя postgres.
Если вы установили более новую версию PostgreSQL, к примеру, 9.1, то описанной выше проблемы быть не должно.
Пробуем подключиться к базе:
psql -Uusername -W -hlocalhost basename