PM2 - для python


PM2 — это процесс-менеджер для Node.js-приложений.
На общем хостинге PM2 может быть полезен для управления Telegram-ботами, API, или веб-приложениями.

Но PM2 можно также использовать и для Python-приложений. 
Итак, у нас установлено python-приложение, телеграм бот. Установлены все необходимые библиотеки и т.д.

То есть бот работает. (Как установить Python )  
Если Ваш бот использует webhook (вебхук) - то Вам сюда. 

Так как PM2 работает только в среде Node, то нужно создать субдомен, установить Nodejs-приложение и уже в виртуальном окружении nodejs - запустить файл python.

Итак, приступим:

  1. Cоздать субдомен, например node-for-python.sample.uz (Как создать субдомен).
  2. Установить Node.js-приложение (Как установить Node.js).
  3. Копируем команду для входа в виртуальное окружение проекта, и вставляем в терминал

Для этого подключаемся по ssh, или открываем Терминал в cpanel. Вставляем команду для виртуального окружения вашего проекта.

2. Теперь нужно установить PM2 через npm:

 npm install pm2 -g 

и проверить его установку можно командой:

 pm2 -v 

3. Запустить бота через PM2:

 pm2 start /home/путь_к_файлу/app.py --interpreter=/путь/к/расположению/python --name bot_python

где:

pm2 start  - команда на старт
/home/путь_к_файлу/app.py - полный путь к файлу
--interpreter=/путь/к/расположению/python - для запуска языка python - берем часть из команды виртуального окружения python
--name bot_python - имя процесса для PM2

например:

pm2 start /home/sampleuz/pythonbot.sample.uz/app.py --interpreter=/home/sampleuz/virtualenv/pythonbot.sample.uz/3.12/bin/python --name bot_python  

запускает файл app.js и присваивает процессу имя nodejs-bot

4. Теперь сохраним текущую конфигурацию 

 pm2 save 

Также можно создать cron  для автоматического входа в виртуальное окружение и восстановления списка сохраненных процессов. Время запуска - каждый час.

source /home/sampleuz/nodevenv/node-for-python.sample.uz/22/bin/activate && cd /home/sampleuz/node-for-python.sample.uz && pm2 resurrect >/dev/null 2>&1

где source /home/sampleuz/nodevenv/node-for-python.sample.uz/22/bin/activate && cd /home/sampleuz/node-for-python.sample.uz  - команда виртуального окружения Nodejs

pm2 resurrect - восстанавливает сохраненную конфигурацию

5. Управление приложением с помощью PM2:

pm2 stop my-app         Остановить приложение

pm2 restart my-app     Перезапустить приложение

pm2 list                            Посмотреть список процессов

pm2 delete my-app     Удалить процесс

Файл тестового бота - скачать

 

 

  • PM2, python, telegram, bot

Связанные статьи

Установка Laravel в cPanel

Laravel это бесплатный веб-фреймворк с открытым исходным кодом, который устанавливается в...

Установка React JS в cPanel

React это JavaScript-библиотека для создания пользовательских интерфейсов. Обратите внимание: это...

Установка Vue.js в cPanel

Vue.js - JavaScript-фреймворк с открытым исходным кодом для создания пользовательских...

Как установить WordPress

WordPress это бесплатная CMS с открытым исходным кодом, которая устанавливается в несколько...

Как выложить сайт на хостинг

Для того что бы выложить свой сайт на хостинг под управлением панели управления cPanel вам нужно...