Header Ads Widget

Deploy dự án Next.js lên VPS bằng PM2

 Quản lý tiến trình Next.js Production với PM2: Từ Build đến Deploy


1. Kiểm tra vị trí đứng (Current Directory)

Dựa trên đường dẫn log, bạn đang ở trong thư mục /data/fchat/web.fchat.vn/.next. Sai lầm: Bạn không được chạy lệnh PM2 bên trong thư mục .next. Bạn phải đứng ở thư mục gốc (root) của dự án (nơi chứa file package.json).

Cách sửa:

cd /data/fchat/web.fchat.vn

2. Kiểm tra file package.json

Mở file package.json bằng lệnh cat package.json hoặc nano package.json và đảm bảo phần scripts có dòng start:

"scripts": {
  "dev": "next dev",
  "build": "next build",
  "start": "next start"
}

Nếu thiếu dòng "start": "next start", hãy thêm nó vào.


3. Thực hiện lại quy trình Deploy

Sau khi đã đứng đúng thư mục gốc dự án và kiểm tra file cấu hình, bạn làm theo các bước sau:

  1. Xóa tiến trình lỗi cũ:

    pm2 delete web.fchat.vn
    
  2. Build lại dự án (để đảm bảo thư mục .next mới nhất):

    npm run build
    
  3. Khởi chạy lại với PM2: Sử dụng lệnh này để PM2 hiểu đúng script:

    pm2 start npm --name "web.fchat.vn" -- run start
    

    Hoặc cách chuyên nghiệp và ít lỗi hơn (chạy trực tiếp file binary của next):

    pm2 start node_modules/next/dist/bin/next --name "web.fchat.vn" -- start
    ```

Nếu cột status hiển thị màu xanh online là bạn đã thành công. Nếu vẫn báo lỗi, hãy dùng lại lệnh pm2 logs web.fchat.vn để xem thông tin mới nhất.

Mẹo nhỏ: Nếu bạn muốn chạy trên port khác (ví dụ 8080), hãy dùng: pm2 start npm --name "web.fchat.vn" -- run start -- -p 8080

Nhận xét