Mengelola PM2 Ubuntu dengan tepat adalah perbedaan antara developer yang bisa tidur nyenyak dan developer yang harus bangun jam 3 pagi karena server down. Aplikasi Node.js atau Next.js Anda mungkin berjalan lancar di localhost, tapi dunia nyata di VPS jauh lebih menantang. Dulu saya pikir cukup menjalankan npm start, namun kenyataannya, infrastruktur membutuhkan manajemen yang lebih serius agar tetap online 24/7. Di artikel ini, kita akan membedah strategi terbaik untuk memastikan server Anda tetap stabil.

Mengapa Harus Mengelola PM2 Ubuntu dengan Startup Script?
Salah satu aspek krusial dalam mengelola PM2 Ubuntu adalah memastikan aplikasi otomatis menyala kembali setelah server melakukan reboot. Tanpa konfigurasi ini, aplikasi Anda akan tetap mati setelah provider melakukan pemeliharaan rutin atau update OS.
Kesalahan 1: Lupa Konfigurasi Auto-Restart
Banyak developer mengira aplikasi akan tetap hidup selamanya. Namun, sistem operasi membutuhkan mekanisme systemd untuk membangkitkan proses yang mati.
Solusi: Jalankan perintah berikut di terminal:
pm2 startup
Copy-paste perintah yang muncul di terminal, lalu simpan kondisi aplikasi Anda dengan:
pm2 save
Perintah pm2 save sangat penting dalam mengelola PM2 Ubuntu karena ia mencatat status running aplikasi ke dalam file dump yang akan dibaca saat booting.
Strategi Mengelola PM2 Ubuntu Agar SSD Tidak Penuh
Masalah kedua yang sering diabaikan saat mengelola PM2 Ubuntu adalah membengkaknya file log. Jika aplikasi Anda memiliki trafik tinggi, log yang tersimpan di ~/.pm2/logs bisa mencapai puluhan Gigabyte dan membuat SSD penuh (Disk Usage 100%).
Kesalahan 2: Membiarkan Log Tanpa Rotasi
Jangan menghapus log secara manual dengan rm -rf, karena hal ini bisa menyebabkan konflik pada proses penulisan file oleh PM2.
Solusi (Install pm2-logrotate):
pm2 install pm2-logrotate
pm2 set pm2-logrotate:max_size 10M
Dengan mengonfigurasi pm2-logrotate, Anda telah menerapkan standar industri dalam mengelola PM2 Ubuntu, di mana log akan otomatis dipecah dan dihapus jika sudah melewati batas ukuran tertentu.
Mengatasi Memory Leak Saat Mengelola PM2 Ubuntu
Aplikasi Node.js terkadang mengalami kebocoran memori (memory leak). Jika Anda tidak mengelola PM2 Ubuntu dengan batasan RAM, aplikasi tersebut bisa menghabiskan seluruh RAM VPS dan menyebabkan sistem hang.
Kesalahan 3: Aplikasi Rakus Memori
Server yang hang biasanya memerlukan hard reboot dari panel provider, yang tentu saja menambah waktu downtime.
Solusi (Limit Memory Restart): Gunakan parameter --max-memory-restart saat menjalankan aplikasi:
pm2 start npm --name "ruang-proses-app" --max-memory-restart 500M -- start
Parameter ini adalah “penyelamat” dalam mengelola PM2 Ubuntu. Jika aplikasi memakan RAM lebih dari 500MB, PM2 akan melakukan restart otomatis sebelum sistem Ubuntu kehabisan memori.
Cheat Sheet Perintah Wajib Mengelola PM2 Ubuntu
Agar Anda bisa mengelola PM2 Ubuntu dengan lebih efisien, simpanlah daftar perintah CLI di bawah ini:
- pm2 list: Melihat ringkasan status semua aplikasi.
- pm2 monit: Dashboard interaktif untuk memantau CPU dan RAM secara real-time.
- pm2 logs: Melihat aktivitas log terbaru untuk debugging cepat.
- pm2 describe [id]: Melihat informasi detail tentang satu aplikasi tertentu.
Dalam proses mengelola PM2 Ubuntu, perintah pm2 monit adalah alat yang paling powerful untuk mendeteksi anomali pada aplikasi Anda sebelum masalah tersebut menyebar ke seluruh sistem.
Kesimpulan Ruang Proses: Infrastruktur Adalah Kunci
Di Ruang Proses, kami selalu menekankan bahwa menulis clean code itu penting, namun memastikan kode tersebut hidup 24/7 di server adalah tanggung jawab profesional. Mengelola PM2 Ubuntu bukan sekadar menghafal perintah terminal, melainkan tentang manajemen risiko dan menjaga kepercayaan pengguna.
Pastikan Anda selalu memeriksa kesehatan server secara berkala. Infrastruktur yang dikelola dengan baik adalah cerminan dari kedewasaan seorang developer dalam membangun produk digital yang andal.
Apakah Anda memiliki pengalaman unik saat mengelola PM2 Ubuntu? Mari berbagi pengalaman dan logika Anda di kolom komentar Ruang Proses!