Описание процесса от создания БД и до запуска скрипта.
Соединяемся со своим сервером и дальше работаем через консоль.
Переносим локальный проект на сервер
Создаем директорию для нашего нового приложения:
mkdir new-application
Клонируем свой git-проект на наш сервер:
Создаем виртуальное окружение python:
Активируем оболочку:
Устанавливаем зависимости:
pip install -r requirements.txt
Создаем БД в PostgreSQL
Подключаемся к PostgreSQL:
Создаем БД
Назначаем привелегии новой таблице:
Импортируем БД:
Выходим из postgres окружения:
В коде должно быть подключение к PostreSQL
Выдержка из примера подключения к PostreSQL вместе с логированием.
db_name='new-application',
db_user='ploshadka',
db_password='12345',
db_host='localhost',
db_port=5432
):
connection = None
try:
connection = psycopg2.connect(
database=db_name,
user=db_user,
password=db_password,
host=db_host,
port=db_port,
)
connection.autocommit = True
except psycopg2.OperationalError as error:
logger.info(f'Ошибка: {error}')
return connection
Создаем демон для запуска нашего скрипта на python
Создаем службу:
Внутри этого файла вставляем:
After=network.target
[Service]
User=ploshadka
Group=www-data
WorkingDirectory=/home/ploshadka/new-application
Environment="PATH=/home/ploshadka/new-application/venv/bin"
ExecStart=/home/ploshadka/new-application/venv/bin/python bot.py --start
ExecStop=/home/ploshadka/new-application/venv/bin/python bot.py --stop
ExecReload=/home/ploshadka/new-application/venv/bin/python bot.py --restart
TimeoutSec=30
Restart=always
Команды для запуска, остановки, перезагрузки службы
sudo systemctl stop new-application
sudo systemctl start new-application
sudo systemctl reload new-application
Узнать статус работы: