Для запуска фонового приложения на Python, такого как Discord-бот, парсер или Telegram-канал, на хостинге Beget и обеспечения его непрерывной работы после закрытия терминала SSH, можно использовать два подхода: systemd и nohup. Ниже приведены подробные инструкции по каждому из методов.
Использование systemd
Создайте файл юнита systemd. Например, назовите его
myapp.serviceи поместите в директорию/etc/systemd/system/.[Unit] Description=Мой Python приложение After=network.target [Service] ExecStart=/path/to/python /path/to/your/app.py Restart=always User=your_username Environment=PATH=/path/to/venv/bin:/usr/local/bin:/usr/bin [Install] WantedBy=multi-user.targetЗамените
/path/to/pythonна путь к вашей версии Python и/path/to/your/app.pyна путь к вашему скрипту.Перезагрузите daemon systemd для учета изменений:
sudo systemctl daemon-reloadЗапустите ваш сервис:
sudo systemctl start myappВключите автозапуск сервиса при загрузке системы:
sudo systemctl enable myapp
Использование nohup
Откройте терминал SSH и перейдите в директорию с вашим скриптом.
Запустите ваше приложение с помощью
nohup:nohup python your_app.py &Добавьте
&в конце команды, чтобы запустить процесс в фоне.После запуска приложения вы можете закрыть терминал SSH, и приложение продолжит работать.
Оба метода обеспечивают непрерывную работу вашего приложения, но использование systemd предпочтительнее для более сложного управления и мониторинга.