
Discord Botunu VDS Üzerinde 7/24 Çalıştırma (pm2 ve systemd)
Discord botunuzu bir VDS üzerinde kesintisiz çalıştırın. Node.js kurulumu, pm2 ve systemd ile servis tanımlama, otomatik yeniden başlatma, log yönetimi ve bellek planlaması.
Discord Botunu VDS Üzerinde 7/24 Çalıştırma
Botunuz kendi bilgisayarınızda çalışırken her şey yolunda görünür, ta ki bilgisayarı kapatana kadar. Bu rehberde bir VDS üzerinde botu servis olarak tanımlamayı, çökme sonrası otomatik yeniden başlatmayı ve log yönetimini anlatıyoruz.
Neden VDS?
| Sorun | Kendi bilgisayarınız | VDS |
|---|---|---|
| Bilgisayar kapanınca | Bot düşer | Çalışmaya devam eder |
| Elektrik kesintisi | Kesinti | Yedekli güç |
| IP değişimi | Bağlantı sorunları | Sabit IP |
| İnternet kesintisi | Bot düşer | Yedekli ağ |
1. Sunucu Hazırlığı
sudo apt update && sudo apt upgrade -y
sudo adduser --disabled-password --gecos "" bot
sudo su - botBotu root ile çalıştırmayın; ayrı bir kullanıcı hem güvenli hem düzenlidir.
2. Node.js Kurulumu
Dağıtımın deposundaki Node.js genelde eskidir. nvm ile istediğiniz sürümü kurun:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
source ~/.bashrc
nvm install 22
node -v3. Botu Sunucuya Alma
git clone https://github.com/kullanici/botunuz.git ~/bot
cd ~/bot
npm ci --omit=devToken’ı koda gömmeyin; .env dosyasında tutun ve izinlerini kısıtlayın:
echo "DISCORD_TOKEN=..." > ~/bot/.env
chmod 600 ~/bot/.env⚠️ Token’ı yanlışlıkla depoya gönderdiyseniz Discord geliştirici panelinden hemen yenileyin. Herkese açık depolara düşen token’lar dakikalar içinde taranıp kullanılıyor.
4. Yöntem A: pm2 ile Çalıştırma
pm2, Node.js projeleri için pratik bir süreç yöneticisidir:
npm install -g pm2
pm2 start index.js --name discord-bot
pm2 save
pm2 startupSon komut, sunucu yeniden başladığında botun otomatik açılması için gereken servisi kurar. Kullanışlı komutlar:
pm2 logs discord-bot # canlı log
pm2 restart discord-bot # yeniden başlat
pm2 monit # bellek ve CPU izlemeBellek sızıntısına karşı otomatik yeniden başlatma:
pm2 start index.js --name discord-bot --max-memory-restart 500M5. Yöntem B: systemd ile Çalıştırma
Ek bağımlılık istemiyorsanız systemd yeterlidir:
sudo nano /etc/systemd/system/discord-bot.service[Unit]
Description=Discord Bot
After=network.target
[Service]
Type=simple
User=bot
WorkingDirectory=/home/bot/bot
EnvironmentFile=/home/bot/bot/.env
ExecStart=/home/bot/.nvm/versions/node/v22.0.0/bin/node index.js
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable --now discord-bot
sudo journalctl -u discord-bot -f💡
Restart=always, botun her çökmede yeniden başlamasını sağlar.RestartSecdeğerini çok düşük tutmayın; sürekli çöken bir bot saniyede onlarca kez yeniden başlayarak Discord tarafında hız sınırına takılabilir.
6. Bellek Planlaması
| Bot türü | Tipik bellek | Not |
|---|---|---|
| Metin komutları | 150-400 MB | En yaygın senaryo |
| Müzik botu | 500 MB - 1,5 GB | Ses kodlama maliyeti |
| Veritabanlı bot | +200-500 MB | PostgreSQL/Redis aynı sunucudaysa |
| Sharded bot | Shard başına +150 MB | 2.500+ sunucudan sonra |
7. Log Yönetimi
Log dosyaları zamanla diski doldurur. pm2 kullanıyorsanız log rotasyonunu kurun:
pm2 install pm2-logrotate
pm2 set pm2-logrotate:max_size 10M
pm2 set pm2-logrotate:retain 7systemd kullanıyorsanız journald zaten döndürme yapar; sınırı /etc/systemd/journald.conf içinden ayarlayabilirsiniz.
8. Güvenlik
- SSH’a parola yerine anahtar ile girin, parola girişini kapatın
- Güvenlik duvarında yalnızca SSH portunu açık tutun (bot dışa bağlantı kurar, gelen porta ihtiyacı yoktur)
- Sistem güncellemelerini düzenli uygulayın
sudo ufw allow OpenSSH
sudo ufw enableSonuç
Bir Discord botunu kesintisiz çalıştırmak için gereken şey karmaşık bir altyapı değil; doğru yapılandırılmış bir süreç yöneticisi ve yeterli bellektir. pm2 hızlı başlangıç için, systemd ek bağımlılık istemeyenler için uygundur.
👉 Bot ölçeğinize uygun paket için Discord bot VDS kiralama sayfamıza, aynı sunucuda Telegram botu veya zamanlanmış script çalıştıracaksanız Telegram bot ve otomasyon VDS sayfamıza göz atın.