Tiếng Việt
Supervisor
Tổng quan
Supervisor là công cụ giám sát và điều khiển tiến trình (process) trên Linux. Nó giữ cho các tiến trình chạy liên tục và tự động khởi động lại nếu chúng bị dừng đột ngột. Bạn có thể dùng Supervisor để chạy queue worker, websocket, laravel-echo-server và các tiến trình chạy lâu dài khác. FlashPanel dùng Supervisor để quản lý các tiến trình này và đảm bảo chúng hoạt động ổn định.
Chọn công cụ nào?
Cấu hình Supervisor
Bạn có thể thiết lập một tiến trình Supervisor thông qua menu Supervisor của máy chủ. Các bước thực hiện:
Chọn máy chủ, bấm menu
Supervisorrồi bấm nútThêm mớiTrong hộp thoại
Thêm mới Supervisor, điền thông tin tiến trình:- Description (Optional): Mô tả ngắn gọn về tiến trình
- Command: Câu lệnh cần chạy. Ví dụ:
php artisan queue:work. Nếu dùng đường dẫn tương đối như ví dụ này, hãy điền Directory là thư mục website (ví dụ/home/flashpanel/example.com), hoặc viết đường dẫn đầy đủ:php /home/flashpanel/example.com/artisan queue:work - User: Người dùng hệ thống dùng để chạy lệnh, mặc định là
flashpanel - Directory (Optional): Thư mục chạy lệnh, có thể chọn từ gợi ý. Để trống nếu lệnh đã dùng đường dẫn đầy đủ
- Number Processes: Số bản sao (instance) của tiến trình chạy song song
- Start Seconds: Số giây tiến trình cần chạy liên tục để được coi là khởi động thành công
Bấm
Lưu
Sau khi tạo thành công, tiến trình xuất hiện trong bảng. Cột Trạng thái hiển thị trạng thái đọc trực tiếp từ Supervisor trên máy chủ, tự làm mới mỗi 30 giây khi trang đang mở (bấm Làm mới để đọc ngay; thời điểm đọc gần nhất hiện cạnh nút):
- Đang chạy: Mọi tiến trình đều đang chạy. Khi Number Processes lớn hơn 1, cột hiện thêm số tiến trình đang chạy, ví dụ
2/2 - Đang khởi động, Đang dừng: Tiến trình đang chuyển trạng thái
- Đang thử lại: Tiến trình thoát trước Start Seconds và Supervisor đang khởi động lại
- Đã dừng: Tiến trình đã bị dừng
- Đã thoát: Tiến trình thoát sau khi đã khởi động thành công
- Không khởi động được: Supervisor đã bỏ cuộc sau nhiều lần khởi động thất bại. Xem Xem nhật ký để tìm nguyên nhân
- Chưa được nạp: Supervisor trên máy chủ không có tiến trình này, ví dụ khi cài cấu hình bị lỗi. Hãy sửa và lưu lại để cài lại cấu hình
Khi một nhóm có nhiều tiến trình ở các trạng thái khác nhau, cột hiện trạng thái nghiêm trọng nhất. Rê chuột vào trạng thái để xem trạng thái của từng tiến trình.
Các nút ở cuối dòng:
- Khởi động, Dừng, Khởi động lại: Điều khiển tiến trình. Lệnh chạy nền và hiện trong Sự kiện; khi xong, trạng thái được đọc lại từ máy chủ. Nếu tiến trình không khởi động được, sự kiện hiện lỗi do Supervisor trả về. Nút Khởi động bị làm mờ khi mọi tiến trình đang chạy, nút Dừng bị làm mờ khi không tiến trình nào chạy. Mọi nút bị làm mờ khi tiến trình đang được cài, xoá, đang chuyển trạng thái hoặc Chưa được nạp.
- Xem nhật ký: Xem đầu ra nhật ký của tiến trình. Log 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 chương trình ghi ra được giữ nguyên. Chọn Số dòng cần xem, bật Tự động làm mới để tải lại mỗi 5 giây, hoặc bấm nút làm mới để tải lại một lần.
- Menu ⋮:
- Chỉnh sửa: Sửa cấu hình tiến trình
- Sao Chép: Tạo tiến trình mới từ cấu hình hiện có
- Xoá nhật ký: Xóa nội dung file nhật ký của tiến trình
- Xóa: Xóa cấu hình Supervisor (cần bấm
Xác nhậnđể hoàn tất)
File nhật ký
FlashPanel tự động cấu hình để mỗi tiến trình Supervisor ghi nhật ký ra file riêng. File nhật ký nằm trong thư mục /home/flashpanel/.flashpanel/ và được đặt tên theo dạng daemon-<ID>.log, trong đó <ID> là giá trị ở cột ID trên bảng. Nếu tiến trình chạy với người dùng root, file nhật ký nằm tại /root/.flashpanel/.
WARNING
Nếu bạn dùng tính năng cách ly người dùng của FlashPanel, file nhật ký nằm trong thư mục .flashpanel thuộc thư mục home của người dùng đã chọn ở trường User (ví dụ /home/<tên người dùng>/.flashpanel/).