Quản Lý Ứng Dụng Node.js Bằng PM2

Related Articles

PM2 là một không tính tiền open source, tân tiến, hiệu suất cao, cross-platform và quan trọng là nó không lấy phí cho ứng dụng sử dụng Node. js với load balancer tích hợp. PM2 hoạt động giải trí trên Linux, MacOS cũng như Windows. PM2 tương hỗ giám sát Application, quản trị hiệu suất cao những dịch vụ / quá trình vi mô, chạy những ứng dụng ở chính sách cluster, khởi động và tắt ứng dụng Node. js một cách ngăn nắp, nhanh gọn

Nếu bạn đã từng sử dụng nodemon, hay forever thì PM2 cũng sẽ tựa như nhưng về tính năng thì có rất nhiều sự độc lạ .

PM2 giữ cho ứng dụng của bạn “ alive forever ” với tính năng tự động hóa khởi động lại và hoàn toàn có thể được kích hoạt để khởi động cùng với mạng lưới hệ thống, do đó được cho phép thông số kỹ thuật với một file hoặc kiến trúc có High A9vailability ( HA ) .

Các tính năng chính

Bây giờ, hãy cũng mình điểm qua các tính năng chính của PM2:

  • Quản lý các process, bao gồm tự động restart app khi bị chết hoặc reboot hệ thống.
  • Giám sát ứng dụng
  • Khai báo cấu hình qua JSON file
  • Quản lý log
  • Cluster mode
  • Chạy các kịch bản lệnh cho hệ thống
  • Seamless updates
  • Cho phép tích hợp các module cho hệ thống

 

Tại sao nên sử dụng PM2?

Giả sử bạn có một micro service trong nodejs với file index.js chạy với port 3000, như code dưới đây .

 

Đoạn code trên sẽ chạy nếu bạn sử dụng node index.js, nhưng điều gì sẽ xảy ra khi app bị crash. Nếu điều đó xảy ra, tất cả chúng ta sẽ phải restart bằng thủ công bằng command line. PM2 Open để làm thay bạn điều đó, pm2 sẽ tự động hóa restart nếu có chuyện gì xảy ra với code của bạn .

Cách dùng PM2?

PM2 được setup trải qua NPM ( Nodejs Package Management ) bởi nó được viết bằng Javascript + Shell. Sử dụng npm để setup pm2 bằng lệnh sau. Lúc này npm sẽ thiết lập phiên bản mới nhất của pm2 trên mạng lưới hệ thống của bạn .

npm install [email protected] -g

Sau khi setup, thay vì sử dụng node index.js để start ứng dụng thì tất cả chúng ta hoàn toàn có thể sử dụng câu lệnh bên dưới

pm2 start index.js

Nhưng không dừng lại tại đó, pm2 hoàn toàn có thể làm nhiều thứ hơn như :

pm2 start index.js --name  --watch

Câu lệnh ở trên sẽ giúp application của bạn tự động hóa reload khi code của bạn biến hóa .

Trong đó:

--name  Bạn muốn đặt tên cho ứng dụng quản lý của bạn, nếu có nhiều port chạy trên server của bạn.

--watch  có giá trị true hoặc false Điều này có nghĩa là, nếu bạn up code của bạn thì node sẽ tự hiểu là reload nếu value là true

Quản lý Process với PM2

Quản lý trạng thái ứng dụng rất đơn thuần, đây là những lệnh :

$ pm2 restart app_name

  • Restart ứng dụng

$ pm2 reload app_name

  • Reload ứng dụng

$ pm2 stop app_name

  • Stop ứng dụng – nhưng vẫn giữ ứng dụng đó ở trong list process

$ pm2 delete app_name

  • Stop ứng dụng, đồng thời xoá ứng dụng ra khỏi list process

Liệt kê trạng thái của toàn bộ những ứng dụng được quản trị bởi PM2 :

$ pm2 [list|ls|status]

Hiện thị log với realtime

$ pm2 logs

Setup cluster cho nodejs sử dụng PM2

Cluster mode được cho phép Node. js application ( http ( s ) / tcp / udp server ) sử dụng tổng thể những CPUs của server. Bạn không cần phải làm bất kể điều gì, kể cả sửa code của bạn. Điều này làm tăng đáng kể hiệu năng và độ đáng tin cậy của những ứng dụng, tùy thuộc vào số lượng CPU có sẵn của server .

Để sử dụng cluster mode thì bạn chỉ cần thêm options – i

pm2 start index.js -i max

Trong đó max có nghĩa là PM2 sẽ tự động hóa phát hiện số lượng CPU có sẵn và chạy càng nhiều process càng tốt .

Lời kết

Trên đây là những điều cơ bản để sử dụng PM2 trong nodejs. Nếu điều đó chưa làm bạn hiểu sâu hơn hoặc còn nhiều điều vướng mắc thì bạn hoàn toàn có thể ghé qua trang home của pm2 – ( https://pm2.keymetrics.io/ )

Tham khảo : Hackernoon

More on this topic

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Advertismentspot_img

Popular stories