Простой скрипт на питоне, который поможет развернуть ваше приложение
Project description
udeploy
Простой скрипт на питоне, который поможет развернуть ваше приложение. Данная утилита представляет собой обёртку над такой стандартной утилитой systemd в *nix подобных системах.
Установка
user@server$ pip install udeploy --upgrade
Использование
Превратить файл в демон
Например у вас есть проект телеграм бота на python, где главная программа называется bot.py. Чтобы превратить ваше приложение в демон, перейдите в папку вашего проекта:
user@server$ cd $YOUR_WORK_DIRECTORY
И наберите простую комманду
user@server$ udeploy -f bot.py
ИЛИ
user@server$ udeploy bot.py -f
Данная комманда автоматом создаст service из вашего приложения, и переместит в нужную директорию, сделав его видимым для systemd. Причём рабочей дирректорией демона по умолчанию ставится дирректория вашего проекта. Это важно, если в проекте вы использовали относительные пути. Также названием демона будет являтся название папки вашего проекта. Данная комманда только создаёт демон, его ещё надо запустить, добавить в автозапуск и тд.
Превратить Django проект в демон
user@server$ udeploy --django
Данная комманда просматривает директорию проекта и ищет там файл manage.py
.
Дальше при помощи него запускает сервер по адресу 0.0.0.0:80.
То есть НЕ на стандартном 127.0.0.1:8000.
Это сделано потому что, если хоститить на localhost,
то не получится подключиться к приложению извне.
Также нельзя забывать, что в настойках Django settings.py
внутри списка ALLOWED_HOSTS нужно указывать домен или ip, так как это уже продакшен.
Запустить демон
Для этого опять же в папке проекта просто выполните:
user@server$ udeploy start
И не нужно указывать никакого названия демона. Программа сама автоматом определит имя папки и на основании этого запустит нужный процесс. Это комманда только один раз запустит ваше приложение как демон. То есть теперь вы можете отключиться от сервера и приложение все ещё будет работать как независимый процесс.
Добавить в автозапуск
user@server$ udeploy enable
Теперь при перезагрузке сервера, вместе со всеми программами будет стартовать и ваше приложение.
Остановить демон
user@server$ udeploy stop
Убрать демон из автозапуска
user@server$ udeploy disable
Удалить демон
user@server$ udeploy remove
Полезно, если вы ошиблись в параметрах при создании демона и не хотите захломлять сервер ненужными нерабочими демонами. Данная коммада удаляет service файлы демона и перезагружает systemd, а если ваше приложение в это время работало, то ещё и останавливает его.
Показать подсказку
user@server$ udeploy --help
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.