Node.js uygulamalarıyla uğraşan herkesin mutlaka bilmesi gereken bir araçtan, PM2’den bahsedeceğim. Kendi projelerimde sıklıkla kullandığım ve hayatımı kolaylaştıran bu aracın ne olduğunu, neden kullanmanız gerektiğini ve nasıl kullanabileceğinizi anlatacağım.
İçerik Tablosu
Kısaca PM2 Nedir?
PM2, Node.js uygulamalarını kolayca yönetmenizi ve izleyebilmenizi sağlayan güçlü bir süreç yöneticisidir. Kısacası, Node.js uygulamalarınızı başlatmak, durdurmak, yeniden başlatmak ve izlemek için kullanabileceğiniz bir araçtır. PM2, uygulamalarınızın her zaman çalışır durumda olmasını sağlamak için otomatik yeniden başlatma gibi özellikler sunar.
Neden PM2 Kullanmalıyız?
PM2’nin neden bu kadar popüler ve yararlı olduğunu birkaç maddeyle özetleyelim:
- Kolay Yönetim: PM2, Node.js süreçlerinizi tek bir komutla yönetmenizi sağlar. Bu, özellikle birden fazla uygulamayı aynı anda çalıştıranlar için büyük bir avantajdır.
- Otomatik Yeniden Başlatma: Uygulamanız çökerse, PM2 otomatik olarak yeniden başlatır. Böylece, sürekli başında durmanız gerekmez.
- Yüksek Kullanılabilirlik: PM2, uygulamanızın her zaman erişilebilir olmasını sağlar. Bu da kullanıcılarınıza kesintisiz bir hizmet sunmanıza yardımcı olur.
- İzleme ve Loglama: PM2, uygulamalarınızın performansını izleyebilir ve loglarınızı yönetebilir. Bu, sorunları hızlıca tespit edip çözmenizi sağlar.
- Cluster Modu: PM2, Node.js’nin cluster modunu destekler. Bu da CPU çekirdeklerinizden en iyi şekilde yararlanmanızı sağlar ve performansı artırır.
PM2 Nasıl Kurulur ve Kullanılır?
PM2’yi kullanmaya başlamak oldukça basit. İşte adım adım PM2’yi nasıl kurup kullanabileceğiniz:
Kurulum
İlk olarak, PM2’yi npm kullanarak global olarak kurmalısınız. Terminalinize aşağıdaki komutu yazın:
npm install -g pm2
Uygulama Başlatma
PM2 kurulduktan sonra, uygulamanızı başlatmak oldukça kolay. Örneğin, app.js
isimli bir Node.js uygulamanız var diyelim. Terminalde şu komutu kullanarak başlatabilirsiniz:
pm2 start app.js
PM2 ile Nuxt.js Projesi Başlatma
Nuxt.js projenizin kök dizininde ecosystem.config.js
adında bir dosya oluşturun ve aşağıdaki içeriği ekleyin:
module.exports = {
apps: [
{
name: 'nuxt-app',
exec_mode: 'cluster',
instances: 'max', // CPU çekirdek sayısı kadar instance başlatır
script: './node_modules/nuxt/bin/nuxt.js',
args: 'start'
}
]
}
PM2 ile Next.js Projesi Başlatma
Next projenizin kök dizininde ecosystem.config.js
adında bir dosya oluşturun ve aşağıdaki içeriği ekleyin:
module.exports = {
apps: [
{
name: 'next-app',
exec_mode: 'cluster',
instances: 'max', // CPU çekirdek sayısı kadar instance başlatır
script: './node_modules/next/dist/bin/next',
args: 'start'
}
]
}
Uygulama Yönetimi
PM2 ile çalışan süreçlerinizi görmek için şu komutu kullanabilirsiniz:
pm2 list
Bu komut, çalışan tüm süreçlerinizi ve durumlarını gösterir. Bir süreci durdurmak isterseniz:
pm2 stop <process_id>
Süreci yeniden başlatmak için:
pm2 restart <process_id>
Uygulamayı kaldırmak isterseniz:
pm2 delete <process_id>
Logları İzleme
Uygulamanızın loglarını görmek için:
pm2 logs
Cluster Modu
Uygulamanızı tüm CPU çekirdeklerinde çalıştırmak isterseniz:
pm2 start app.js -i max
Bu komut, uygulamanızı mevcut tüm çekirdeklerde çalıştıracaktır.
Sonuç
PM2, Node.js uygulamalarını yönetmek ve izlemek için mükemmel bir araçtır. Kolay kullanımı, otomatik yeniden başlatma özelliği ve gelişmiş log yönetimi ile Node.js geliştiricileri için vazgeçilmez bir araçtır. Kendi projelerimde sıkça kullandığım PM2’nin, sizin de projelerinizde büyük kolaylık sağlayacağını düşünüyorum. Deneyin ve farkı görün!