пароль амд БД 123
имя пользователя БД из джанго user2 -> pww2
название базы данных django_db
Ubuntu Server 16.04 + Django + Python3 + Nginx + Gunicorn
Корневая папка
/home/user/ActHiddeen/
Папка проекта (там файл manage.py)
/home/user/ActHiddeen/app/acts
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nginx
sudo apt-get install python3-setuptools
sudo easy_install3 pip
установим само виртуальное окружение
pip3 install virtualenv #если pip не хочет, можете поставить командой easy_install3 virtualenv
в корневой папке
virtualenv /venv # venv можете заменить на любое другое имя
source /venv/bin/activate
деактивация deactivate
*** !!!! В VENV используем pip, вне VENV используем pip3 ***
pip install gunicorn
git clone https://github.com/dezhik74/ActHiddeen.git
(venv)$ pip install -r 'requirements.txt'
nano settings.py
прописываем
STATIC_ROOT = '/home/user/ActHiddeen/static/' - если в корневой хотим
в папке проекта
python manage.py collectstatic
там появится папка /static/
cd /etc/nginx/sites-available/
nano default
Удаляем оттуда все и пишем
server {
listen 80;
server_name 111.222.333.44; #либо ip, либо доменное имя
access_log /var/log/nginx/example.log;
location /static/ {
root /opt/myenv/myproject/;
expires 30d;
}
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
sudo service nginx restart
в папке проекта
gunicorn acts.wsgi:application
11) Ставим сам сервер PostgreSQL и библиотеку разработчика (она пригодится нам при установке бэкэнда)
sudo apt-get install postgresql postgresql-server-dev-9.5
sudo -u postgres psql postgres
\password postgres
14) Создаем и настраиваем пользователя при помощи которого будем соединяться с базой данных из Django.
Заодно указываем значения по умолчанию для кодировки, уровня изоляции транзакций и временного пояса
create user user_name with password 'password';
alter role user_name set client_encoding to 'utf8';
alter role user_name set default_transaction_isolation to 'read committed';
alter role user_name set timezone to 'UTC'; (берется из settings.py)
create database django_db owner user_name;
\q
pip install psycopg2 (в системе должен быть установлен компилятор си)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'django_db',
'USER' : 'user_name',
'PASSWORD' : 'password',
'HOST' : '127.0.0.1',
'PORT' : '5432',
}
}
в папке проекта
python manage.py dumpdata --indent=2 --exclude=contenttypes > datadump.json
обратно
python manage.py loaddata datadump.json
Чтобы перенести в Mysql в докере, надо вручную удалить все данные юзеров сессий итд. Или исключить таблицы contenttypes и auth.permissions
Django + Python3 + Nginx + Gunicorn + DO
Инструкция: как перевести проект Django с SQLite на MySQL без боли
Python+gunicorne+posgressql+nginx -> Docker
Номер 2 19.03 7.5 Номер 1 02. 42250 Номер 1 03. 99980.55 Номер 1 04. 20434