Категория: Информационные системы

Кол-во просмотров: 3788

Теги: #python #django #linux


Связка Nginx + uWSGI + Django

Связка 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

Категория: Информационные системы

Кол-во просмотров: 3788

Дата создания: 11 сентября 2015 г.

Теги: #python #django #linux