Как запустить python телеграмм бота на сервере VDS?

Есть бот на Python. Командой python3 main.py отлично запускается и работает. Но как мне его запустить на сервер? Доступ к VDS осуществляется через консоль. После закрытия консоли процесс Python останавливается. Пробовл запускать, потому ctrl+z; $ bg %1; $ disown %1, всё равно падает. Что делать?


Ответы (2 шт):

Автор решения: crystalbit

самое простое - запускать с помощью screen - https://help.ubuntu.ru/wiki/screen

так же есть менеджеры процессов типа pm2 - https://blog.pm2.io/2018-09-19/Manage-Python-Processes/

→ Ссылка
Автор решения: Riangry

Напишите службу для запуска бота:

cat > /etc/systemd/system/<название сервиса>.service << EOF

Прописываем туда это, подставивисвои данные

[Service]
WorkingDirectory=<Путь к боту>
User=user
ExecStart=/usr/bin/python3 main.py

[Install]
WantedBy=multi-user.target
EOF

затем в консоли

systemctl daemon-reload
systemctl enable foobar
systemctl start foobar
systemctl status foobar
→ Ссылка