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.

GitHub Nedir?

GitHub, versiyon kontrol sistemidir. Tabi günümüzde bu amacı dışında birçok amaçla kullanılmaktadır. Örneğin bir ekip içerisinde uzaktan ortak bir proje üzerinde çalışmak için, insanların çalışmalarını ortak bir noktada barındırma gibi. Aynen vermiş olduğumuz örnekte olduğu gibi her bir kişi kendi geliştirdiği projeyi yüklediğinde ana sayfa içerisindeki görüntü değişir fakat kalıcı olarak değil. Anahtar kelime de tam olarak budur. Zira gönderilen yeni veri içerisinde eğer bir değişiklik varsa(Ekleme, Silme, Güncelleme gibi) GitHub bunu fark eder ve önceki hâline gidebilecek bir yapı oluşturur. Bu nedenle günümüzde daha çok Showroom olarak kullanılsa da asıl amacı versiyon kontrol sistemi oluşturmaktır.

Kafanız karışmasın, örneğin siz bir proje geliştirdiniz ve geliştirmiş olduğunuz ...