Hold din Discord-bot kørende 24/7 med PM2 eller systemd

En Discord-bot, der bare startes manuelt, stopper, så snart terminalen lukkes, eller processen crasher. Med et procesværktøj som PM2 eller systemd holder du botten kørende døgnet rundt med automatisk genstart.

PM2 til Node.js-bots (på en VPS)

PM2 er en procesmanager designet til Node.js og fungerer perfekt til Discord-bots. Installer den globalt:

npm install -g pm2

Start din bot med PM2:

pm2 start index.js --name "minbot"

Nu kører botten i baggrunden. Nyttige kommandoer:

  • pm2 list viser alle kørende processer.
  • pm2 logs minbot viser realtidslogs.
  • pm2 restart minbot genstarter botten.
  • pm2 stop minbot stopper den.

For at botten starter automatisk, når VPS-serveren genstartes:

pm2 startup

Kør den kommando, PM2 viser dig (den opsætter en systemd-service), og gem derefter tilstanden:

pm2 save

Nu overlever din bot også en servergenstart.

systemd til Python-bots (på en VPS)

Til Python-bots bruger du systemd, som allerede er en del af de fleste Linux-distributioner. Opret en servicefil:

sudo nano /etc/systemd/system/minbot.service

Indhold:

[Unit]
Description=Min Discord Bot
After=network.target

[Service]
Type=simple
User=botbruger
WorkingDirectory=/home/botbruger/minbot
ExecStart=/usr/bin/python3 bot.py
Restart=always
RestartSec=10
EnvironmentFile=/home/botbruger/minbot/.env

[Install]
WantedBy=multi-user.target

Aktivér og start servicen:

sudo systemctl enable minbot
sudo systemctl start minbot

Tjek status med sudo systemctl status minbot og se logs med journalctl -u minbot -f.

Sikkerhed: beskyt dit bot-token

Dit bot-token giver fuld kontrol over botten. Følg disse regler:

  • Gem aldrig tokenet i kildekoden. Brug en .env-fil eller miljøvariabler.
  • Tilføj .env til din .gitignore, så tokenet aldrig ender i et repository.
  • Kør botten som en dedikeret bruger uden sudo-rettigheder, ikke som root.

Bothosting via gamepanelet

Hoster du din bot på HostValues' bothosting i stedet for en VPS, håndterer panelet allerede genstart og processtyring for dig. Du skal blot uploade dine filer, indstille startfilen under fanen Startup, og starte botten. Crasher den, kan du sætte en planlagt genstart op via fanen Schedules. Se også vores artikel om at få din Discord-bot online.


Sidder du stadig fast? Opret en supportticket, vores team hjælper dig gerne.

Tilbage til vidensbasen