Lệnh service trong Linux

Giới thiệu

Trong lab này, chúng ta sẽ khám phá lệnh service của Linux, một tiện ích được sử dụng để quản lý các dịch vụ hệ thống. Chúng ta sẽ học cách khởi động, dừng, khởi động lại và kiểm tra trạng thái của các dịch vụ hệ thống khác nhau, chẳng hạn như máy chủ web, cơ sở dữ liệu và dịch vụ mạng. Lab này sẽ bao gồm cú pháp cơ bản của lệnh service và cung cấp các ví dụ thực tế về cách sử dụng nó. Ngoài ra, chúng ta sẽ thảo luận về cơ chế quản lý dịch vụ cơ bản, có thể khác nhau tùy thuộc vào bản phân phối Linux.

Tìm hiểu lệnh service của Linux

Trong bước này, chúng ta sẽ khám phá lệnh service của Linux, một tiện ích được sử dụng để quản lý các dịch vụ hệ thống. Lệnh service cung cấp một cách tiêu chuẩn để khởi động, dừng, khởi động lại và kiểm tra trạng thái của các dịch vụ hệ thống.

Đầu tiên, hãy hiểu cú pháp cơ bản của lệnh service:

sudo service [service_name] [action]

Ở đây, [service_name] là tên của dịch vụ bạn muốn quản lý và [action] là thao tác bạn muốn thực hiện, chẳng hạn như start, stop, restart hoặc status.

Ví dụ: để khởi động dịch vụ máy chủ web Apache, bạn sẽ chạy:

sudo service apache2 start

Ví dụ đầu ra:

Starting Apache httpd web server: apache2.

Để kiểm tra trạng thái của dịch vụ Apache, bạn có thể chạy:

sudo service apache2 status

Ví dụ đầu ra:

Apache2 is running.

Lệnh service là một trình bao bọc (wrapper) xung quanh cơ chế quản lý dịch vụ hệ thống cơ bản, có thể khác nhau tùy thuộc vào bản phân phối Linux. Trên Ubuntu 22.04, lệnh service sử dụng trình quản lý dịch vụ systemd bên dưới.

Điều quan trọng cần lưu ý là lệnh service chủ yếu được sử dụng để quản lý các dịch vụ cấp hệ thống, chẳng hạn như máy chủ web, cơ sở dữ liệu và dịch vụ mạng. Để quản lý các dịch vụ hoặc ứng dụng cấp người dùng, bạn có thể cần sử dụng các công cụ hoặc lệnh khác.

Quản lý dịch vụ hệ thống bằng lệnh service

Trong bước này, chúng ta sẽ học cách sử dụng lệnh service để quản lý các dịch vụ hệ thống, bao gồm khởi động, dừng, khởi động lại và kiểm tra trạng thái của các dịch vụ.

Đầu tiên, hãy liệt kê tất cả các dịch vụ có sẵn trên hệ thống:

sudo service --status-all

Ví dụ đầu ra:

 [ + ]  acpid
 [ - ]  apache2
 [ + ]  apparmor
 [ + ]  atd
 [ + ]  cron
 [ + ]  dbus
 [ + ]  getty
 [ + ]  networking
 [ + ]  rsyslog
 [ + ]  ssh
 [ + ]  ufw

Ký hiệu + cho biết dịch vụ đang chạy, trong khi ký hiệu - cho biết dịch vụ đã dừng.

Bây giờ, hãy khởi động dịch vụ máy chủ web Apache:

sudo service apache2 start

Ví dụ đầu ra:

Starting Apache httpd web server: apache2.

Để kiểm tra trạng thái của dịch vụ Apache:

sudo service apache2 status

Ví dụ đầu ra:

Apache2 is running.

Nếu bạn muốn dừng dịch vụ Apache:

sudo service apache2 stop

Ví dụ đầu ra:

Stopping Apache httpd web server: apache2.

Để khởi động lại dịch vụ Apache:

sudo service apache2 restart

Ví dụ đầu ra:

Restarting Apache httpd web server: apache2.

Lệnh service cung cấp một cách nhất quán và tiêu chuẩn để quản lý các dịch vụ hệ thống, bất kể cơ chế quản lý dịch vụ cơ bản (ví dụ: systemd, init.d).

Khắc phục sự cố dịch vụ với các ví dụ thực tế

Trong bước cuối cùng này, chúng ta sẽ khám phá cách khắc phục sự cố với các dịch vụ hệ thống bằng lệnh service và các công cụ liên quan khác.

Hãy bắt đầu bằng cách cố tình dừng dịch vụ máy chủ web Apache:

sudo service apache2 stop

Ví dụ đầu ra:

Stopping Apache httpd web server: apache2.

Bây giờ, hãy thử truy cập máy chủ web Apache:

curl http://localhost

Ví dụ đầu ra:

curl: (7) Failed to connect to localhost port 80: Connection refused

Như mong đợi, máy chủ web không chạy và chúng ta nhận được lỗi từ chối kết nối.

Để khắc phục sự cố, chúng ta có thể kiểm tra trạng thái của dịch vụ Apache:

sudo service apache2 status

Ví dụ đầu ra:

Apache2 is not running.

Lệnh status xác nhận rằng dịch vụ Apache không chạy.

Tiếp theo, hãy thử khởi động lại dịch vụ Apache:

sudo service apache2 start

Ví dụ đầu ra:

Starting Apache httpd web server: apache2.

Bây giờ, hãy kiểm tra lại trạng thái:

sudo service apache2 status

Ví dụ đầu ra:

Apache2 is running.

Dịch vụ hiện đang chạy và chúng ta có thể truy cập máy chủ web:

curl http://localhost

Ví dụ đầu ra:

<!DOCTYPE html>
<html>
<body>
<h1>It works!</h1>
</body>
</html>

Trong ví dụ này, chúng ta đã chứng minh cách khắc phục sự cố dịch vụ đơn giản bằng cách kiểm tra trạng thái dịch vụ, khởi động dịch vụ và xác minh dịch vụ đang chạy chính xác.

Trong một tình huống thực tế, bạn có thể gặp phải các vấn đề phức tạp hơn, chẳng hạn như lỗi khởi động dịch vụ, sự cố cấu hình hoặc cạn kiệt tài nguyên. Trong những trường hợp như vậy, bạn có thể sử dụng các công cụ và kỹ thuật bổ sung, chẳng hạn như kiểm tra nhật ký dịch vụ, giám sát tài nguyên hệ thống và điều tra các tệp cấu hình, để xác định và giải quyết các vấn đề cơ bản.

Tóm tắt

Trong lab này, trước tiên chúng ta đã khám phá lệnh service của Linux, một tiện ích được sử dụng để quản lý các dịch vụ hệ thống. Chúng ta đã học cú pháp cơ bản của lệnh service và cách sử dụng nó để khởi động, dừng, khởi động lại và kiểm tra trạng thái của các dịch vụ hệ thống, chẳng hạn như máy chủ web Apache. Chúng ta cũng đã thảo luận rằng lệnh service là một trình bao bọc xung quanh cơ chế quản lý dịch vụ hệ thống cơ bản, có thể khác nhau tùy thuộc vào bản phân phối Linux. Trong phần thứ hai của lab, chúng ta đã học cách sử dụng lệnh service để quản lý các dịch vụ hệ thống, bao gồm liệt kê tất cả các dịch vụ có sẵn, khởi động và dừng dịch vụ, đồng thời kiểm tra trạng thái của chúng.

400+ câu lệnh phổ biến trong Linux