DevopsNextJS

Cài đặt app frontend nextjs bằng pm2 vs nginx trên ubuntu 18, 20

Install Yarn on Ubuntu

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn

Install PM2 globally trên server

yarn global add pm2

Khởi động app Next.js với Yarn và PM2

pm2 start yarn --name "nextjs" -- start
pm2 start yarn --name "hrm-dev" -- start:dev

Lưu lại nếu có khởi động lại server

pm2 save

Theo dõi các app trên pm2

pm2 monit

Khởi động lại 1 app nào đó trên pm2

pm2 restart app_name

Để tự động khởi động ứng dụng của bạn mỗi khi VPS được reboot, bạn có thể sử dụng tính năng startup của PM2. PM2 cung cấp khả năng tạo một script startup cho hệ thống, đảm bảo rằng quy trình ứng dụng của bạn sẽ được khởi động lại tự động sau mỗi lần reboot VPS.

Dưới đây là các bước để thiết lập điều này:

  1. Lưu Danh Sách Ứng Dụng: Trước tiên, đảm bảo rằng tất cả các ứng dụng bạn muốn khởi động lại tự động đã được khởi động bằng PM2 và sau đó sử dụng lệnh pm2 save để lưu danh sách hiện tại của các ứng dụng đang chạy. Điều này sẽ cho phép PM2 biết ứng dụng nào cần được khởi động lại tự động.

    pm2 save
  2. Tạo Script Startup: Sử dụng lệnh pm2 startup, bạn sẽ tạo ra một script startup cho hệ điều hành của mình. Lệnh này sẽ phát hiện hệ điều hành và in ra một lệnh mà bạn cần chạy với quyền root. Lệnh này sẽ đăng ký PM2 là một dịch vụ, cho phép nó khởi động lại tự động cùng hệ thống.

    Khi chạy lệnh pm2 startup, bạn sẽ nhận được một lệnh tương tự như sau:

    pm2 startup systemd

    Sau khi chạy lệnh trên, PM2 sẽ in ra một lệnh khác mà bạn cần thực thi với quyền sudo để thiết lập dịch vụ. Ví dụ:

    sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u yourUsername --hp /home/yourUsername

    Thay thế yourUsername với tên người dùng thực tế của bạn.

  3. Thực Thi Lệnh: Copy và chạy lệnh được PM2 cung cấp trong terminal với quyền sudo. Lệnh này sẽ tạo ra một script systemd (hoặc một init script tương ứng với hệ thống khác) để khởi động lại các ứng dụng của bạn tự động khi hệ thống khởi động.

  4. Kiểm Tra: Để đảm bảo mọi thứ được thiết lập đúng đắn, bạn có thể reboot VPS của mình và sau đó kiểm tra xem các ứng dụng PM2 của bạn có tự động khởi động lại không bằng cách sử dụng lệnh:

    pm2 list

Lưu ý: Đảm bảo bạn đã lưu cấu hình PM2 của mình (pm2 save) trước khi reboot máy để đảm bảo tất cả ứng dụng của bạn được khởi động lại một cách chính xác.

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Back to top button
Close