Skip to content

Systemd Service ​

Tổng quan ​

Trang Service cho phép bạn chạy các chương trình cần hoạt động liên tục, như ứng dụng Node.js, queue worker hay bot, dưới dạng systemd service trên máy chủ. FlashPanel đọc từng service trực tiếp từ máy chủ, nên thông tin bạn thấy luôn khớp với những gì đang chạy thực tế. Bạn có thể tạo, chỉnh sửa, khởi động, dừng và khởi động lại service, chọn việc tự khởi động cùng máy chủ và xem log.

Để mở trang, vào trang quản lý máy chủ và chọn Service trong menu.

Danh sách service ​

Bảng liệt kê các service mà FlashPanel đang quản lý trên máy chủ, sắp xếp theo tên, mỗi trang 10 service. Dùng ô chọn ở cuối bảng để hiện nhiều dòng hơn mỗi trang hoặc hiện tất cả. Bấm vào tiêu đề cột để sắp xếp theo cột đó.

Mỗi dòng gồm:

  • Mũi tên mở rộng (cột đầu tiên): Bấm vào mũi tên, hoặc bất kỳ chỗ nào trên dòng, để xem toàn bộ nội dung file unit của service. Bấm lại để thu gọn.
  • Tên: Tên service. Bên cạnh tên có thể có hai dấu hiệu:
    • Biểu tượng ổ khoá: service hệ thống do gói phần mềm cài sẵn (ví dụ redis hoặc nginx). Không thể chỉnh sửa hay xoá service này khỏi máy chủ.
    • Nhãn tên ứng dụng (ví dụ Meilisearch, MTProxy hoặc Tomcat): service do ứng dụng đó tạo ra.
  • Trạng thái: Tình trạng hiện tại của service.
    • Kích hoạt (xanh lá): Service đang chạy.
    • Ngừng kích hoạt (xám): Service đã dừng.
    • Thất bại (đỏ): Service bị dừng do lỗi. Hãy xem log của service.
    • Các trạng thái khác như activating (cam) nghĩa là service đang chuyển trạng thái.
  • Khởi động: Bật công tắc để service tự khởi động khi máy chủ khởi động.
  • Thao tác:
    • Nút Khởi động, Dừng và Khởi động lại điều khiển service ngay lập tức. Nút Khởi động bị làm mờ khi service đang chạy, nút Dừng bị làm mờ khi service đã dừng.
    • Nút Xem Log mở log của service (xem phần Xem log). Nút chuyển sang màu đỏ khi service bị lỗi.
    • Menu ⋮ chứa Chỉnh sửa, Sao Chép và Xóa. Xem các phần bên dưới.

Khi một thao tác đang chạy trên service nào, chỉ dòng của service đó bị khoá. Bạn vẫn thao tác được với các service khác.

Phía trên bảng:

  • Nhập vào ô Tìm Kiếm để lọc service theo tên.
  • Bấm Trạng thái rồi chọn Kích hoạt, Thất bại hoặc Ngừng kích hoạt để chỉ hiện các service ở những trạng thái đó. Mỗi lựa chọn hiện kèm số lượng service, giúp bạn thấy ngay service nào đang lỗi.
  • Bấm Khởi động rồi chọn Đã bật hoặc Đã tắt để lọc theo thiết lập ở cột Khởi động. Bộ lọc này dùng được cùng lúc với bộ lọc Trạng thái, ví dụ để tìm service đang dừng nhưng vẫn khởi động cùng hệ thống.
  • Giá trị đang lọc hiện ngay trên nút bộ lọc. Bấm Xóa bộ lọc để xoá ô tìm kiếm và mọi bộ lọc.

Bấm nút làm mới cạnh Thêm service có sẵn để đọc lại toàn bộ service từ máy chủ.

Trạng thái của các service tự làm mới mỗi 30 giây khi trang đang mở. Rê chuột vào nút làm mới để xem thời điểm cập nhật gần nhất.

Nếu không kết nối được máy chủ, thông báo lỗi sẽ hiện phía trên bảng. Hãy kiểm tra máy chủ đang hoạt động rồi bấm nút làm mới.

Điều khiển nhiều service cùng lúc ​

  1. Đánh dấu ô chọn của các service cần điều khiển. Một thanh hiện số service đã chọn sẽ xuất hiện ở cuối màn hình.
  2. Bấm một trong các nút trên thanh đó: Khởi động, Dừng, Khởi động lại, Khởi động cùng hệ thống, Không khởi động cùng hệ thống hoặc Xóa mục đã chọn. Rê chuột vào nút để xem tên. Bấm nút đóng ở bên trái để bỏ chọn tất cả.

Xóa mục đã chọn mở hộp xác nhận giống khi xoá một service, kèm tên các service đã chọn. Xoá khỏi máy chủ chỉ chọn được khi mọi service đã chọn đều xoá được khỏi máy chủ; nếu không, hãy chọn Gỡ khỏi danh sách.

Thao tác được gửi cho tất cả service đã chọn cùng lúc và bỏ chọn sau khi gửi. Khi một service đã chọn vẫn đang chạy thao tác trước đó, các nút sẽ ẩn đi để tránh gửi trùng. Nếu một số service bị lỗi, một thông báo duy nhất liệt kê các service đó kèm lý do.

Xem log ​

  1. Bấm nút Xem Log của service. Log mở trong một cửa sổ nổi, bạn có thể di chuyển, đổi kích thước hoặc thu nhỏ cửa sổ.

  2. Chọn loại log cần xem:

    • Kết quả: File log đầu ra của chương trình.
    • Lỗi: File log lỗi của chương trình.
    • Journal: Journal của systemd cho service này. Luôn có sẵn, kể cả với service không ghi log ra file.

    Kết quả và Lỗi chỉ hiện khi service ghi log ra file.

  3. Chọn Số dòng cần xem, tính từ các dòng mới nhất.

  4. Bật Tự động làm mới để tải lại log mỗi 5 giây, hoặc bấm nút làm mới để tải lại một lần.

Màu sắc do chương trình ghi ra được hiển thị như trong terminal. Đường dẫn file log hiện ở góc trên bên phải cửa sổ.

Tạo service ​

  1. Bấm Tạo Service.
  2. Nhập Tên: chỉ gồm chữ cái, chữ số, dấu gạch ngang và gạch dưới, tối đa 32 ký tự, không bắt đầu bằng chữ số. Chữ hoa và chữ có dấu sẽ được chuyển đổi, ví dụ MyApp được lưu thành myapp. Tên sẽ được lưu hiện ngay dưới ô nhập.
  3. Khai báo service ở một trong hai tab:
    • Thiết lập nhanh (mặc định): Điền form, file unit sẽ được tạo tự động.

      • Lệnh: Lệnh đầy đủ để chạy chương trình, bắt đầu bằng đường dẫn tuyệt đối của chương trình, ví dụ /usr/bin/node /home/flashpanel/app/server.js. Đây là thông tin bắt buộc.
      • Thư mục làm việc: Thư mục mà chương trình chạy trong đó. Không bắt buộc. Bấm vào ô để chọn nhanh thư mục của các site trên máy chủ, hoặc nhập đường dẫn khác.
      • Chạy bằng user: User Linux chạy chương trình. Mặc định là root.
      • Chính sách khởi động lại: Luôn khởi động lại, Khởi động lại khi lỗi hoặc Không khởi động lại.
      • Biến môi trường: Mỗi dòng một biến, ví dụ NODE_ENV=production. Không bắt buộc.

      Log được ghi vào /var/log/services/<tên>.log và /var/log/services/<tên>-error.log.

    • File unit: Tự sửa nội dung file unit trong trình soạn thảo. Mở tab này sau khi điền Thiết lập nhanh để xem hoặc tinh chỉnh nội dung được tạo. Quay lại tab Thiết lập nhanh thì nội dung sẽ được tạo lại từ form.

      • Điền ExecStart là lệnh khởi chạy chương trình của bạn. Cảnh báo sẽ hiện dưới trình soạn thảo khi ExecStart còn trống.
      • Đường dẫn file log được điền theo tên service và tự cập nhật khi bạn đổi tên, cho tới khi bạn tự sửa nội dung.
  4. Chọn Khởi động cùng với hệ thống để service tự khởi động khi máy chủ khởi động.
  5. Bấm Tạo Service.

Service được tạo và khởi động. Theo dõi tiến trình trong sự kiện vừa xuất hiện.

Quản lý service đã có sẵn trên máy chủ ​

Để quản lý các service bạn tự tạo trên máy chủ, ví dụ qua SSH:

  1. Bấm Thêm service có sẵn. Cửa sổ hiện danh sách các service trong /etc/systemd/system chưa có trong danh sách, kèm trạng thái và thiết lập Khởi động. Bấm Làm mới trong cửa sổ để đọc lại.
  2. Chọn các service muốn quản lý.
  3. Bấm Thêm vào danh sách.

Service được thêm vào danh sách và giữ nguyên. Máy chủ không bị thay đổi gì: service vẫn chạy và giữ nguyên thiết lập Khởi động.

Service bị làm mờ và không chọn được khi tên không theo quy tắc đặt tên: chỉ gồm chữ thường, số, gạch ngang và gạch dưới, tối đa 32 ký tự, không bắt đầu bằng số. Hãy đổi tên file unit trên máy chủ để thêm được. Service hệ thống do gói phần mềm cài sẵn không hiện trong cửa sổ này.

Bạn cũng có thể bấm Tạo Service và nhập tên một service đã có. Service được thêm vào danh sách và giữ nguyên nội dung, trừ khi bạn chọn Ghi đè nếu đã tồn tại để thay bằng nội dung của bạn. Khi đó nội dung phải có ExecStart và service được khởi động lại với nội dung mới.

Chỉnh sửa service ​

  1. Mở menu ⋮ của service và bấm Chỉnh sửa.
  2. Sửa nội dung file unit trong trình soạn thảo. Nội dung phải có ExecStart trong section [Service], nếu không nút Sửa Service sẽ bị khoá.
  3. Bấm Sửa Service.

Service được khởi động lại với nội dung mới. Thiết lập ở cột Khởi động không thay đổi.

Không thể đổi tên service. Muốn đổi tên, hãy sao chép service với tên mới rồi xoá service cũ.

Sao chép service ​

  1. Mở menu ⋮ của service cần sao chép và bấm Sao Chép.
  2. Nhập tên cho service mới. Nội dung của service gốc được sao chép vào trình soạn thảo, đường dẫn file log và Description tự đổi theo tên mới khi bạn gõ.
  3. Cập nhật phần nội dung còn lại nếu cần, ví dụ cổng hoặc thư mục làm việc.
  4. Khởi động cùng với hệ thống được chọn sẵn. Bỏ chọn nếu không cần.
  5. Bấm Tạo Service.

Xoá service ​

  1. Mở menu ⋮ của service và bấm Xóa.
  2. Chọn một trong hai cách:
    • Gỡ khỏi danh sách: Ngừng quản lý service tại đây. Không thay đổi gì trên máy chủ và service vẫn tiếp tục chạy. Bạn có thể thêm lại sau bằng Thêm service có sẵn.
    • Xoá khỏi máy chủ: Dừng service, tắt khởi động cùng hệ thống, rồi xoá file unit và file log trong /var/log khỏi máy chủ.
  3. Bấm nút xác nhận.

Không thể chọn Xoá khỏi máy chủ với:

  • Service hệ thống do gói phần mềm cài sẵn (có biểu tượng ổ khoá).
  • Service do ứng dụng còn đang cài tạo ra. Hãy gỡ ứng dụng đó thay vì xoá service.

Ghi chú và cảnh báo ​

  • Lưu ý: Không thể tạo, chỉnh sửa hay xoá các service hệ thống do gói phần mềm cài sẵn như nginx, ssh, mysql hoặc redis tại đây. Điều này giúp bảo vệ các service mà máy chủ cần để hoạt động.
  • Lưu ý: Nếu file unit của service bị xoá trực tiếp trên máy chủ, service sẽ được gỡ khỏi danh sách ở lần mở trang tiếp theo.
  • Lưu ý: Mỗi lần xem log chỉ hiện tối đa 1 MB cuối của log.
  • Cảnh báo: Xoá khỏi máy chủ không thể hoàn tác. File unit và file log bị xoá vĩnh viễn. Hãy dùng Gỡ khỏi danh sách nếu bạn chỉ muốn ngừng quản lý service.
  • Cảnh báo: Hãy để mỗi service ghi vào file log riêng. Khi xoá service khỏi máy chủ, các file log khai báo trong file unit của service đó cũng bị xoá, kể cả khi service khác đang ghi vào cùng file.
  • Cảnh báo: Service chạy với quyền của User khai báo trong file unit. Tránh dùng root trừ khi chương trình thực sự cần.