fix ecosystem config
This commit is contained in:
+35
-10
@@ -11,11 +11,22 @@ Panduan ini untuk menjalankan aplikasi **Next.js** (setrip) di server Linux/VPS
|
|||||||
|
|
||||||
## File PM2
|
## File PM2
|
||||||
|
|
||||||
Konfigurasi PM2 ada di root repositori: **`ecosystem.js`**.
|
Konfigurasi PM2 ada di root repositori: **`ecosystem.config.js`** (nama ini disengaja).
|
||||||
|
|
||||||
Isinya menjalankan biner Next (`next start`) setelah build, mode **fork**, satu proses, **PORT** **3090** (sesuai alokasi server Anda). Ubah `PORT` di file tersebut atau lewat variabel lingkungan di server jika kebijakan port berubah.
|
### Jangan `pm2 start ecosystem.js` kecuali itu skrip Node
|
||||||
|
|
||||||
Beberapa tutorial memakai nama `ecosystem.config.js`; PM2 menerima nama apa pun asal Anda menjalankan `pm2 start <file>`.
|
Jika Anda menjalankan `pm2 start ecosystem.js` pada file yang isinya hanya `module.exports = { apps: [...] }`, PM2 menganggapnya **skrip aplikasi biasa** dan menjalankannya dengan `node ecosystem.js`. Akibatnya:
|
||||||
|
|
||||||
|
- Nama proses di daftar PM2 jadi **`ecosystem`** (bukan `setrip`).
|
||||||
|
- Next.js **tidak** dijalankan lewat entri `apps` Anda.
|
||||||
|
|
||||||
|
Gunakan selalu:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pm2 start ecosystem.config.js --env production
|
||||||
|
```
|
||||||
|
|
||||||
|
Isi file menjalankan biner Next (`next start`) setelah build, mode **fork**, satu proses, **PORT** **3090**. Ubah `PORT` di file tersebut jika kebijakan port berubah.
|
||||||
|
|
||||||
### Berapa port yang dibutuhkan?
|
### Berapa port yang dibutuhkan?
|
||||||
|
|
||||||
@@ -56,14 +67,10 @@ Untuk **trafik HTTP/HTTPS ke aplikasi Next.js**, cukup **satu port** yang dideng
|
|||||||
6. **Mulai** dengan PM2:
|
6. **Mulai** dengan PM2:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pm2 start ecosystem.js
|
pm2 start ecosystem.config.js --env production
|
||||||
```
|
```
|
||||||
|
|
||||||
Untuk memakai blok `env_production` di file ecosystem:
|
Tanpa `--env production` tetap jalan; variabel default memakai blok `env` di file.
|
||||||
|
|
||||||
```bash
|
|
||||||
pm2 start ecosystem.js --env production
|
|
||||||
```
|
|
||||||
|
|
||||||
7. **Simpan** daftar proses agar bangkit lagi setelah reboot:
|
7. **Simpan** daftar proses agar bangkit lagi setelah reboot:
|
||||||
|
|
||||||
@@ -98,7 +105,25 @@ npm run build
|
|||||||
pm2 reload setrip
|
pm2 reload setrip
|
||||||
```
|
```
|
||||||
|
|
||||||
Jika nama aplikasi di PM2 berbeda, ganti `setrip` dengan nama di `ecosystem.js` (`name`).
|
Jika nama aplikasi di PM2 berbeda, ganti `setrip` dengan nama di `ecosystem.config.js` (`name`).
|
||||||
|
|
||||||
|
### Hapus proses PM2 yang salah (nama `ecosystem`)
|
||||||
|
|
||||||
|
Jika Anda pernah menjalankan `pm2 start ecosystem.js` dan muncul proses bernama `ecosystem`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pm2 stop ecosystem
|
||||||
|
pm2 delete ecosystem
|
||||||
|
```
|
||||||
|
|
||||||
|
Atau pakai id dari `pm2 status` (contoh id `9`):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pm2 stop 9
|
||||||
|
pm2 delete 9
|
||||||
|
```
|
||||||
|
|
||||||
|
Lalu mulai lagi dengan `pm2 start ecosystem.config.js --env production` dan `pm2 save`.
|
||||||
|
|
||||||
## Reverse proxy (opsional)
|
## Reverse proxy (opsional)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
/**
|
/**
|
||||||
* PM2 ecosystem — jalankan dari root proyek setelah `npm run build`.
|
* PM2 ecosystem — WAJIB memakai nama ecosystem.config.js agar PM2
|
||||||
* Contoh: pm2 start ecosystem.js
|
* mem-parse `apps` (bukan menjalankan file ini sebagai skrip Node).
|
||||||
|
*
|
||||||
|
* Jalankan dari root proyek setelah `npm run build`:
|
||||||
|
* pm2 start ecosystem.config.js --env production
|
||||||
*/
|
*/
|
||||||
module.exports = {
|
module.exports = {
|
||||||
apps: [
|
apps: [
|
||||||
@@ -18,8 +21,6 @@ module.exports = {
|
|||||||
NODE_ENV: "production",
|
NODE_ENV: "production",
|
||||||
PORT: 3090,
|
PORT: 3090,
|
||||||
},
|
},
|
||||||
// Override di server produksi, contoh:
|
|
||||||
// pm2 start ecosystem.js --env production
|
|
||||||
env_production: {
|
env_production: {
|
||||||
NODE_ENV: "production",
|
NODE_ENV: "production",
|
||||||
PORT: 3090,
|
PORT: 3090,
|
||||||
Reference in New Issue
Block a user