Skip to content
10 Juni 2026 3 min read

fixing-environment-variables-nextjs-vps

Pelajari cara mengatasi masalah environment variable yang tidak terbaca di aplikasi Next.js setelah restart server di VPS Ubuntu menggunakan PM2.

nextjsnodejsDevOps
Nurikhsan
NurikhsanFull-stack Developer & UI Designer

Pendahuluan

Deploy aplikasi Next.js ke VPS Ubuntu bisa menjadi tantangan tersendiri, terutama ketika berurusan dengan environment variable. Salah satu masalah umum yang sering dihadapi adalah ketika aplikasi tidak bisa berjalan setelah server di-restart, umumnya karena variabel lingkungan tidak terbaca. Dalam artikel ini, kita akan membahas cara mengatasi masalah tersebut agar aplikasi Next.js kamu tetap berjalan dengan baik.

Memahami Environment Variable

Environment variable adalah nilai yang digunakan oleh aplikasi untuk mengkonfigurasi perilakunya. Misalnya, kamu mungkin memiliki variabel untuk menyimpan API key, URL database, atau mode produksi/development. Di Next.js, variabel ini biasanya didefinisikan dalam file .env atau dapat di-set langsung di server.

Mengapa Environment Variable Tidak Terbaca?

Ada beberapa alasan mengapa environment variable tidak terbaca setelah restart server:

  • File `.env` tidak di-load: Jika menggunakan file .env, pastikan file tersebut ada dan dapat diakses oleh proses yang menjalankan aplikasi.
  • Pengaturan PM2 tidak benar: PM2 memiliki cara tertentu untuk mengatur environment variable.
  • Variabel tidak didefinisikan dengan benar: Pastikan penamaan dan nilai dari variabel sudah benar.

Menyiapkan Environment Variable di PM2

Jika kamu menggunakan PM2 untuk mengelola proses aplikasi Next.js, ada beberapa langkah yang perlu diikuti untuk memastikan environment variable terbaca dengan baik.

1. Menggunakan File Ecosystem

Salah satu cara terbaik untuk mengatur environment variable di PM2 adalah dengan menggunakan file ecosystem. Buat file ecosystem.config.js di direktori proyekmu dengan konten berikut:

module.exports = {
  apps: [{
    name: 'my-next-app',
    script: 'npm start',
    env: {
      NODE_ENV: 'production',
      API_KEY: 'your_api_key',
      DATABASE_URL: 'your_database_url',
    },
  }],
};

Dengan cara ini, PM2 akan secara otomatis memuat environment variable ketika aplikasi dijalankan.

2. Menjalankan Aplikasi dengan PM2

Setelah membuat file ecosystem, jalankan aplikasi menggunakan perintah:

pm2 start ecosystem.config.js

Ini akan memastikan bahwa semua variabel yang didefinisikan dalam file tersebut dimuat dengan benar.

Memeriksa Status Aplikasi

Setelah aplikasi dijalankan, kamu bisa memeriksa status dan log aplikasi dengan perintah berikut:

pm2 status
pm2 logs my-next-app

Perintah status akan menunjukkan apakah aplikasi berjalan, dan logs akan menampilkan informasi penting mengenai aplikasi, termasuk error yang mungkin terjadi.

Mengatasi Masalah Umum

Jika setelah mengikuti langkah-langkah di atas aplikasi masih tidak berjalan, berikut beberapa solusi yang bisa dicoba:

  1. Restart PM2: Kadang-kadang, merestart PM2 dapat memperbaiki masalah.
   pm2 restart my-next-app
  1. Periksa Izin Akses: Pastikan bahwa user yang menjalankan PM2 memiliki izin untuk mengakses file .env atau file konfigurasi lainnya.
  2. Debugging: Jika masih ada error, coba tambahkan log untuk memeriksa variabel yang terbaca.
   console.log(process.env.API_KEY);

Kesimpulan

Mengelola environment variable di aplikasi Next.js yang dideploy di VPS Ubuntu dengan PM2 tidaklah sulit jika kamu mengikuti langkah-langkah yang tepat. Dengan menggunakan file ecosystem dan memahami cara kerja PM2, kamu dapat memastikan aplikasi kamu berjalan dengan baik bahkan setelah server di-restart. Semoga artikel ini membantu kamu dalam mengatasi masalah yang dihadapi. Selamat mencoba!

Related articles

Chat WhatsApp