Tiếng Việt
PM2 Manager
PM2 là trình quản lý tiến trình (process manager) dành cho ứng dụng Node.js trên môi trường production, có sẵn bộ cân bằng tải. PM2 giúp ứng dụng luôn hoạt động, tải lại ứng dụng mà không gây gián đoạn và hỗ trợ các tác vụ quản trị hệ thống phổ biến.
PM2 Manager trong FlashPanel cung cấp giao diện trực quan để quản lý ứng dụng Node.js thông qua PM2, giúp bạn dễ dàng khởi động, dừng, khởi động lại và giám sát các tiến trình.
Các tính năng chính
- Quản lý tiến trình: Khởi động, dừng, khởi động lại, tải lại và xóa các ứng dụng Node.js
- Giám sát tiến trình: Xem trạng thái, mức sử dụng CPU và bộ nhớ
- Quản lý nhật ký: Xem nhật ký ứng dụng để gỡ lỗi và giám sát
- Triển khai dễ dàng: Khởi động ứng dụng Node.js mới chỉ với một biểu mẫu đơn giản
- Cách ly người dùng: Chạy tiến trình dưới một người dùng hệ thống cụ thể để tăng bảo mật
Điều kiện tiên quyết
Trước khi sử dụng PM2 Manager, bạn cần:
- Sử dụng gói trả phí (PM2 Manager chỉ dành cho gói trả phí).
- Cài đặt Node.js trên máy chủ tại trang Ứng dụng. PM2 được cài tự động cùng Node.js.
- Nếu trang PM2 Manager vẫn yêu cầu cài đặt, bấm Cài đặt để cài ứng dụng PM2.
Sau khi cài đặt, chọn PM2 trong menu máy chủ để mở PM2 Manager. Nếu chưa cài, mục PM2 nằm trong nhóm Khám phá của menu.
Tổng quan giao diện
Giao diện PM2 Manager gồm một danh sách tiến trình chính, cùng các nút mở hộp thoại cho từng thao tác:
- Danh sách tiến trình: Xem và quản lý tất cả các tiến trình PM2
- Thêm tiến trình mới: Khởi động một ứng dụng Node.js mới với PM2 (mở trong hộp thoại)
- Xem nhật ký: Xem nhật ký của từng tiến trình (mở trong hộp thoại)
1. Danh sách tiến trình
Bảng Tiến trình PM2 hiển thị tất cả các tiến trình PM2 trên máy chủ của bạn.
Các cột trong danh sách
Danh sách hiển thị thông tin chi tiết của từng tiến trình:
- ID: Mã tiến trình (PID) do hệ thống cấp
- Tên: Tên tiến trình (do bạn đặt hoặc tự động tạo)
- Path: Đường dẫn đến tệp script (di chuột để xem các tham số lệnh)
- Trạng thái: Trạng thái hiện tại (
online,stopped,errored) - User: Người dùng hệ thống chạy tiến trình
- CPU: Phần trăm CPU đang sử dụng
- Memory: Dung lượng bộ nhớ đang sử dụng
Hành động trên tiến trình
Với mỗi tiến trình, bạn có thể:
- Xem Log: Xem nhật ký của tiến trình (mở trong cửa sổ nổi)
- Khởi động: Khởi động tiến trình đã dừng (chỉ hiện khi tiến trình không chạy)
- Dừng: Dừng tiến trình đang chạy (chỉ hiện khi tiến trình đang chạy)
- Khởi động lại: Khởi động lại tiến trình (hữu ích để áp dụng thay đổi mã nguồn)
- Tải Lại: Tải lại tiến trình (không gây gián đoạn khi chạy ở chế độ cluster), chỉ hiện khi tiến trình đang chạy
- Xóa: Xóa tiến trình khỏi PM2
WARNING
Nút Xóa thực hiện ngay, không có hộp thoại xác nhận. Hãy kiểm tra kỹ trước khi bấm.
Làm mới danh sách
Bấm nút Làm mới ở góc trên bên phải để cập nhật danh sách tiến trình mới nhất từ PM2.
2. Thêm tiến trình mới
Phần này cho phép bạn khởi động ứng dụng Node.js mới bằng PM2 qua hộp thoại.
Khởi động một tiến trình
- Bấm nút Thêm Mới ở đầu danh sách tiến trình
- Trong hộp thoại Chạy tiến trình mới, chọn Tên người dùng cách ly trang web: người dùng hệ thống sẽ chạy tiến trình (mặc định là
root) - Nhập command: phần tham số đặt sau
pm2 start(ví dụ:app.js --name my-apphoặc/path/to/your/script.js --max-memory-restart 512M) - Bấm nút Khởi động
Sau khi khởi động, danh sách tiến trình tự động làm mới để hiển thị tiến trình mới.
3. Xem nhật ký
Phần này cho phép bạn xem nhật ký của các tiến trình PM2, rất cần thiết khi gỡ lỗi và giám sát.
Xem nhật ký
- Trong danh sách tiến trình, bấm nút Xem Log của tiến trình cần kiểm tra
- Nhật ký mở trong cửa sổ nổi, bạn có thể di chuyển, đổi kích thước hoặc thu nhỏ cửa sổ, màu sắc do ứng dụng ghi ra được giữ nguyên
- Chọn Số dòng cần xem (100, 200, 500 hoặc 1000, mặc định 100). Nhật ký tự tải lại khi bạn đổi số dòng
- Bật Tự động làm mới để tải lại nhật ký mỗi 5 giây, hoặc bấm nút làm mới để tải nhật ký mới nhất một lần
Thực hành tốt nhất
- Đặt tên tiến trình: Luôn đặt tên có ý nghĩa (tham số
--name) để dễ nhận biết tiến trình - Giám sát tài nguyên: Theo dõi mức sử dụng CPU và bộ nhớ để đảm bảo hiệu suất
- Kiểm tra nhật ký thường xuyên: Xem nhật ký định kỳ để phát hiện sớm lỗi và vấn đề hiệu suất
- Cách ly người dùng: Chạy tiến trình dưới người dùng hệ thống riêng thay vì
rootđể tăng bảo mật - Dùng chế độ Cluster: Với ứng dụng production, cân nhắc dùng chế độ cluster của PM2 (tham số
-i max) để tận dụng nhiều lõi CPU
Khắc phục sự cố
Tiến trình không khởi động
- Kiểm tra đường dẫn script có chính xác và tệp có tồn tại không
- Kiểm tra ứng dụng Node.js không có lỗi cú pháp
- Xem nhật ký để biết thông báo lỗi chi tiết
- Đảm bảo người dùng đã chọn có quyền truy cập script
Sử dụng tài nguyên cao
- Xem lại mã nguồn ứng dụng để tìm rò rỉ bộ nhớ (memory leak)
- Bổ sung xử lý lỗi phù hợp để tránh ứng dụng bị treo
- Theo dõi nhật ký để phát hiện lỗi lặp lại có thể làm tăng tài nguyên
Tiến trình liên tục khởi động lại
- Kiểm tra nhật ký để tìm các ngoại lệ (exception) chưa được xử lý
- Đảm bảo đã cài đặt đầy đủ các thư viện phụ thuộc
- Kiểm tra ứng dụng không gặp lỗi khi chạy (runtime error)
Để biết thêm về các tính năng và tùy chọn cấu hình của PM2, hãy tham khảo tài liệu PM2 chính thức.