PM2 удобен для разработки. Для production — systemd.
## Почему systemd
✅ Стартует до логина
✅ Нативная интеграция с Linux
✅ Логи через journalctl
✅ Зависимости между сервисами
## Конфиг
``
ini
[Unit]
Description=VPN Telegram Bot
After=network.target
[Service]
Type=simple
WorkingDirectory=/root/vpn-bot
ExecStart=/usr/bin/python3 bot.py
Restart=always
RestartSec=10
EnvironmentFile=/root/vpn-bot/.env
[Install]
WantedBy=multi-user.target
`
## Ключевые строки
- Restart=always — перезапуск при падении
- RestartSec=10 — пауза 10 сек (защита от loop)
- EnvironmentFile — переменные из .env
## Команды
`bash
systemctl daemon-reload
systemctl enable vpn-bot
systemctl start vpn-bot
journalctl -u vpn-bot -f
``## Грабли
❌ Забыл daemon-reload — старый конфиг
❌ Неправильный WorkingDirectory
❌ RestartSec=1 → restart loop
Критичный сервис → systemd. Эксперимент → PM2.