Node.js uygulamaları geliştirirken sunucuda sürekli çalışmalarını sağlamak kritik bir konudur. Terminal kapandığında uygulamanın ölmesi sinir bozucu olabilir. İşte tam bu noktada PM2 devreye giriyor. PM2, Node.js için bir process manager’dır ve uygulamalarınızı arka planda canlı tutar, çökme durumunda otomatik başlatır ve logları yönetir. Özellikle VDS gibi sunucularda, uygulamaların 7/24 ayakta kalması için PM2 vazgeçilmezdir.
PM2 Nedir ve Neden Kullanmalısınız?
PM2 (Process Manager 2), Node.js ekosisteminin en popüler process manager’larından biridir. Tek bir komutla uygulamanızı arka planda çalıştırabilir, cluster modunda birden çok çekirdek kullanabilir ve restart politikaları tanımlayabilirsiniz. HızlıVDS müşterileri genellikle PM2’yi tercih eder çünkü kurulumu basit, kaynak tüketimi düşük ve işletmesi kolaydır.
VDS’ye PM2 Kurulumu
İlk adım tabii ki PM2’yi yüklemek. Bunun için SSH ile sunucunuza bağlanın ve şu komutu çalıştırın:
npm install -g pm2
Yani npm üzerinden global olarak PM2’yi kuruyorsunuz. Kurulum tamamlandıktan sonra PM2’nin versiyonunu kontrol edebilirsiniz: pm2 --version.
Node.js Uygulamasını PM2 ile Başlatma
Uygulamanızın ana dosyasının bulunduğu dizine gidin. Örneğin app.js ise:
pm2 start app.js --name "my-app"
Bu komut uygulamanızı arka planda başlatır ve ismini "my-app" olarak belirler. Terminali kapatsanız bile uygulama çalışmaya devam eder. --name parametresi ile birden çok uygulamayı yönetmek kolaylaşır.
Otomatik Yeniden Başlatma (Çökme Durumunda)
PM2 varsayılan olarak uygulama çöktüğünde otomatik olarak yeniden başlatır. Ancak daha fazla kontrol için restart politikaları tanımlayabilirsiniz. Örneğin, maksimum 3 başarısız restart denemesinden sonra durmasını istiyorsanız:
pm2 start app.js --max-memory-restart 200M --max-restarts 3
Bu, bellek kullanımı 200 MB’ı geçerse veya 3 kez restart başarısız olursa PM2’nin uygulamayı durdurmasını sağlar.
Sunucu Yeniden Başladığında PM2’nin Otomatik Başlaması
VDS sunucunuz yeniden başlatıldığında PM2’nin ve uygulamalarınızın otomatik olarak ayağa kalkması gerekir. Bunun için PM2’nin startup script’ini oluşturun:
pm2 startup
Bu komut, sistem init sisteminize uygun bir script ekler. Ardından mevcut uygulamaları kaydedin:
pm2 save
Artık sunucu her reboot edildiğinde PM2 ve tüm uygulamalarınız otomatik başlayacaktır.
PM2 ile Cluster Modunda Çalıştırma
VDS’nizde birden çok CPU çekirdeği varsa, PM2’nin cluster modu ile tüm çekirdekleri kullanabilirsiniz. Örneğin 4 çekirdekli bir sunucuda:
pm2 start app.js -i 4
Ya da otomatik mod (mevcut çekirdek sayısı kadar):
pm2 start app.js -i max
Bu sayede uygulamanız yüksek trafik altında bile performanslı çalışır.
Log Yönetimi ve İzleme
Uygulamanızın çıktılarını görmek için pm2 logs komutunu kullanabilirsiniz. Tüm logları tek bir dosyada toplamak isterseniz pm2 install pm2-logrotate eklentisini kurarak log döndürme ayarları yapabilirsiniz.
Ayrıca pm2 monit komutu ile CPU, bellek ve istek sayıları gibi canlı metrikleri görüntüleyebilirsiniz.
Son Söz
PM2, Node.js uygulamalarını VDS ortamında profesyonelce yönetmek için harika bir araçtır. Kurulumu birkaç dakika sürer, ancak size saatlerce uğraştıracak sorunları engeller. HızlıVDS kullanıcıları için PM2’nin sunduğu restart mekanizmaları ve cluster desteği, düşük maliyetle yüksek kullanılabilirlik sağlar. Deneyin, farkı görün.