PM2 Nedir?
PM2, Node.js uygulamalarını yönetmek ve izlemek için kullanılan güçlü bir süreç yöneticisidir. Özellikle üretim ortamlarında uygulamaların sürekliliğini sağlamak için tasarlanmıştır. PM2, uygulamalarınızın terminalden bağımsız bir şekilde çalışmasını sağlar ve çeşitli yönetim özellikleri sunar.
PM2 Kurulumu
PM2'yi Global Olarak Kurma:
npm install -g pm2
Bu komut, PM2'yi sisteminize global olarak kurar, böylece terminalden herhangi bir yerden kullanabilirsiniz.
PM2 Kullanımı
Uygulama Başlatma:
pm2 start app.js
Bu komut, app.js dosyasını başlatır ve PM2 tarafından yönetilmesini sağlar.
Uygulama İzleme:
pm2 status
Bu komut, çalışan uygulamalarınızın durumunu ve performansını gösterir.
Günlükleri Görüntüleme:
pm2 logs
Uygulamanızın loglarını (günlüklerini) görüntüler.
Uygulamayı Durdurma veya Yeniden Başlatma:
pm2 stop app
pm2 restart app
Uygulamayı durdurur veya yeniden başlatır. Burada app, uygulamanızın adıdır.
Uygulamayı Silme:
pm2 delete app
Uygulamayı PM2 listesinden kaldırır.
PM2 Konfigürasyonu
Ecosystem Config Dosyası Kullanımı:
PM2 ile uygulamanızı konfigüre ederken bir JSON dosyası kullanabilirsiniz. Aşağıdaki örnek, ecosystem.config.js dosyası ile nasıl yapılandırılabileceğinizi gösterir:
module.exports = {
apps: [
{
name: "my-app",
script: "./app.js",
instances: 4,
exec_mode: "cluster",
autorestart: true,
watch: false,
max_memory_restart: "1G",
},
],
};
Bu dosyayı kullanarak PM2'yi konfigüre edebilir ve aşağıdaki komutla başlatabilirsiniz:
pm2 start ecosystem.config.js
PM2 Komutlarının Çıktısı
PM2'nin komutlarından bazıları aşağıdaki gibi bir çıktı üretir:
name id version exec_mode status restart uptime memory cpu user watching
0: my-app 0 1.0.0 cluster online 0 1d 30.5MB 0.15% user false
Yukarıdaki örnekte PM2'nin sağladığı bilgilerin detayları:
- Name: Uygulamanın adı (my-app)
- ID: Uygulamanın PM2 tarafından atanan ID'si (0)
- Version: Uygulama sürümü (1.0.0)
- Exec_mode: Uygulama çalıştırma modu (cluster)
- Status: Uygulamanın mevcut durumu (online)
- Restart: Uygulamanın yeniden başlatma sayısı (0)
- Uptime: Uygulamanın çalışma süresi (1d)
- Memory: Uygulamanın kullandığı bellek (30.5MB)
- CPU: Uygulamanın CPU kullanımı (0.15%)
- User: Uygulamanın çalıştığı kullanıcı (user)
- Watching: Dosya değişimlerini izleme durumu (false)
PM2 Komutları Yoksa
Kullanılan sistem içerisinde eğer PM2 komutları mevcut değilse, kurulumu için aşağıdaki adımları takip edebilirsiniz:
/*Debian ve Ubuntu Tabanlı Sistemlerde:*/
sudo apt update
sudo apt install pm2
/*Red Hat ve CentOS Tabanlı Sistemlerde:*/
sudo yum install pm2
/*Arch Linux Tabanlı Sistemlerde:*/
sudo pacman -S pm2
/*openSUSE Tabanlı sistemlerde:*/
sudo zypper install pm2
Bu adımları takip ederek PM2'yi sisteminize kurabilirsiniz.