Cách quản lý dịch vụ với Systemd

Ngày Đăng : Saturday, October 05, 2019 - Tác giả: guICE.org

Trong vài năm qua, hầu hết các bản phân phối Linux đã thay đổi cách họ khởi động. Trước đây, sysvinit kiểu UNIX đã cai trị gà trống ngoài một số ngoại lệ, chẳng hạn như Ubuntu đã sử dụng Upstart cho các hệ điều hành của họ. Gần đây, nhiều bản phân phối Linux đã chuyển sang quy trình systemd mới để quản lý việc khởi động và tắt hệ thống.

Cách quản lý dịch vụ với Systemd

Trong vài năm qua, hầu hết các bản phân phối Linux đã thay đổi cách họ khởi động. Trước đây, sysvinit kiểu UNIX đã cai trị gà trống ngoài một số ngoại lệ, chẳng hạn như Ubuntu đã sử dụng Upstart cho các hệ điều hành của họ. Gần đây, nhiều bản phân phối Linux đã chuyển sang quy trình systemd mới để quản lý việc khởi động và tắt hệ thống.

Cách làm việc với Systemd để quản lý dịch vụ trên máy chủ

Để bắt đầu, đối với các người không quen thuộc, chúng ta sẽ xem nhanh cách thức hệ thống Linux khởi động. Đối với điều này, BIOS trước tiên sẽ tải bộ tải khởi động, mà trên hầu hết các hệ thống Linux hiện đại là GRUB 2. Công việc của trình tải khởi động là tìm và khởi động Linux Kernel hoạt động như giao diện giữa phần mềm của bạn và phần cứng trên máy tính. Sau khi nó khởi động, Kernel sau đó tìm kiếm và khởi động hệ thống init, sau đó chịu trách nhiệm khởi tạo các dịch vụ và phần mềm khác nhau trên hệ thống.

Khi làm việc với hệ thống sysvinit, có lẽ bạn đã quen với việc sử dụng các tập lệnh trong /etc/init.d để bắt đầu và dừng dịch vụ kết hợp với lệnh dịch vụ. Systemd thay thế hoàn toàn điều này và có lệnh và cú pháp riêng để bắt đầu và dừng dịch vụ. Đối với phần lớn công việc bạn sẽ làm với systemd, bạn sẽ sử dụng lệnh systemctl . Vì vậy, hãy sử dụng một số ví dụ để giải thích cách hệ thống hoạt động. Cụ thể, chúng tôi sẽ sử dụng dịch vụ Apache2, nhưng rõ ràng bạn có thể thay thế Apache2 bằng tên của dịch vụ mà bạn muốn quản lý. Lưu ý ở đây rằng systemctl cần được gọi là người dùng root hoặc sử dụng sudo từ tài khoản người dùng với quyền sudo phù hợp.

systemctl start apache2 - Bắt đầu với một cái đơn giản ở đây, lệnh trên bắt đầu dịch vụ Apache2.

systemctl stop apache2 - Như trên và đơn giản, điều này dừng dịch vụ Apache2 đang chạy.

systemctl enable apache2 - Lệnh này cho phép dịch vụ Apache2 tự động khởi động khi khởi động.

systemctl vô hiệu hóa apache2 - Giống như trước khi lệnh này vô hiệu hóa dịch vụ Apache2 khởi động tự động khi hệ thống khởi động.

Trạng thái systemctl - Lệnh này hiển thị cho bạn trạng thái chung của hệ thống bao gồm cây quy trình hiển thị các dịch vụ được khởi động bởi systemd.

trạng thái systemctl apache2 - Lệnh này sẽ hiển thị cho bạn thông tin chi tiết hơn về trạng thái Apache2 bao gồm cả liệu nó có đang chạy hay không cũng như một số đầu ra tệp nhật ký bị cắt từ lần cuối cùng được khởi động. Điều này có thể hữu ích để xem lý do tại sao một dịch vụ có thể không bắt đầu

systemctl status -l apache2 - Lệnh này cung cấp khá nhiều đầu ra giống như trên nhưng cũng cung cấp đầu ra nhật ký đầy đủ để giúp chẩn đoán các vấn đề.

systemctl tải lại apache2 - Lệnh này sẽ tải lại các tệp cấu hình cho Apache2 mà không cần khởi động lại nó. Lưu ý rằng không phải tất cả các dịch vụ đều có thể tải lại cấu hình của chúng mà không cần khởi động lại nên đây có thể không phải là một tùy chọn cho một số dịch vụ.

systemctl restart apache2 - Lệnh này sẽ dừng Apache2 và sau đó khởi động lại sau đó.

systemctl mask apache2 - Tùy chọn mặt nạ được sử dụng để thông báo cho systemctl rằng bạn không thể bắt đầu dịch vụ. Vì vậy, ngay cả các nỗ lực để tự khởi động nó sẽ bị chặn.

systemctl unmask apache2 - Như bạn có thể đoán, tùy chọn vạch mặt đảo ngược chức năng của tùy chọn mặt nạ.

systemctl list-unit-files - Lệnh này liệt kê bất kỳ tệp đơn vị nào mà systemd có thể tìm thấy. Các tệp đơn vị là các tệp hướng dẫn cho systemd biết cần phải làm gì để bắt đầu / dừng dịch vụ. Các tập tin này được liệt kê cùng với trạng thái của chúng: cho phép. Điều này rất hữu ích cho việc tìm ra tên chính xác cho một dịch vụ để quản lý nó.

danh sách đơn vị systemctl - Đây là một bạn đồng hành với lệnh trước đó trong đó nó liệt kê bất kỳ đơn vị được tải và một chút thông tin về chúng.

systemctl poweroff - Lệnh này tắt máy tính.

khởi động lại hệ thống - Lệnh này khởi động lại máy tính.

Điều đó kết thúc chuyến tham quan của chúng tôi về các chức năng khác nhau của lệnh systemctl của systemd và cách bạn sẽ sử dụng nó để quản lý các dịch vụ chạy trên hệ thống của mình. Như với hầu hết các lệnh, có nhiều thông tin được tìm thấy trên trang man systemctl hơn chúng tôi đã đưa vào đây. Vì vậy, đáng để kiểm tra xem bạn có thể làm gì khác không.

Sẵn sàng cấu hình VPS SSD hiệu suất cao của bạn? Đối với cuối cùng trong hiệu suất và giá bấm vào đây!

Cảm ơn bạn đã đánh giá
0 Sao 0 Đánh giá
icon to top