Code Monkey home page Code Monkey logo

udeploy's Introduction

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

udeploy's People

Contributors

moprules avatar

Stargazers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.