Kiểm tra và khởi động lại dịch vụ với systemctl
Hướng dẫn Linux Server · cập nhật 01/08/2026
Để quản lý dịch vụ trên VPS Linux, bạn dùng systemctl status xem trạng thái, systemctl restart khởi động lại, và systemctl enable cho dịch vụ tự chạy khi máy khởi động. Nắm các lệnh này mất khoảng 10 phút và giúp bạn xử lý khi một dịch vụ dừng đột ngột.
systemctl là công cụ điều khiển systemd, bộ quản lý dịch vụ trên hầu hết bản Linux hiện nay gồm Ubuntu, Debian, CentOS 7 trở lên. Web server, database, SSH đều là dịch vụ mà systemctl bật tắt được.
- Xem trạng thái dịch vụ bằng status.
- Khởi động lại khi dịch vụ trục trặc.
- Bật dịch vụ tự chạy khi máy khởi động.
- Đọc log khi dịch vụ không lên được.
Bảng lệnh systemctl thường dùng nhất
Sáu lệnh dưới đây phủ gần hết việc quản lý dịch vụ hàng ngày. Cú pháp luôn là systemctl theo sau là hành động và tên dịch vụ. Tên dịch vụ thường là tên phần mềm, ví dụ nginx, mysql, sshd. Hầu hết lệnh cần quyền sudo.
| Lệnh | Làm gì |
|---|---|
systemctl status nginx | Xem dịch vụ đang chạy hay dừng |
systemctl start nginx | Khởi động dịch vụ |
systemctl stop nginx | Dừng dịch vụ |
systemctl restart nginx | Khởi động lại dịch vụ |
systemctl reload nginx | Nạp lại cấu hình, không ngắt dịch vụ |
systemctl enable nginx | Cho tự chạy khi máy khởi động |
Đọc kết quả systemctl status
Lệnh status là lệnh bạn chạy nhiều nhất. Nó in trạng thái dịch vụ kèm vài dòng log gần nhất. Dòng Active là chỗ đáng nhìn nhất. Chữ active (running) màu xanh nghĩa là dịch vụ đang chạy tốt, còn failed hoặc inactive (dead) nghĩa là dịch vụ đã dừng.
systemctl status nginx
| Trạng thái | Nghĩa |
|---|---|
active (running) | Dịch vụ đang chạy bình thường |
inactive (dead) | Dịch vụ đã dừng, không lỗi |
failed | Dịch vụ dừng do lỗi, cần xem log |
Thoát màn hình status bằng phím q nếu nó mở dạng cuộn.
Khởi động lại đúng cách khi dịch vụ trục trặc
Khi website chết mà máy vẫn sống, thủ phạm thường là web server hoặc database dừng. Cách sửa nhanh nhất là khởi động lại dịch vụ đó. Lệnh restart dừng rồi bật lại. Nếu chỉ đổi cấu hình và không muốn ngắt phục vụ, dùng reload để nạp lại cấu hình mà giữ dịch vụ chạy.
sudo systemctl restart nginx
Restart dịch vụ khiến nó ngừng phục vụ trong vài giây. Trên máy chủ đang có khách, chọn giờ ít truy cập và ưu tiên reload khi chỉ cần nạp lại cấu hình. Đừng restart bừa dịch vụ database khi đang có giao dịch chạy dở.
Cho dịch vụ tự chạy khi máy khởi động
Start và stop chỉ tác động ngay lúc đó. Sau khi máy khởi động lại, dịch vụ có tự lên hay không phụ thuộc vào enable. Lệnh enable ghi dịch vụ vào danh sách khởi động cùng máy, còn disable gỡ khỏi danh sách đó. Một dịch vụ quan trọng như web server nên luôn được enable.
sudo systemctl enable nginx
Phân biệt rõ hai cặp lệnh: start và stop điều khiển ngay bây giờ, enable và disable quyết định lần khởi động sau. Một dịch vụ có thể đang chạy mà chưa enable, nên sẽ không tự lên sau khi reboot.
Đọc log khi dịch vụ không lên được
Nếu dịch vụ báo failed và không khởi động, bạn cần xem log để biết vì sao. Công cụ đi kèm systemd là journalctl. Chạy với cờ -u kèm tên dịch vụ để lọc đúng log của nó. Cờ -n giới hạn số dòng gần nhất cho dễ đọc.
sudo journalctl -u nginx -n 50
Đọc từ dưới lên, dòng cuối thường là lỗi mới nhất khiến dịch vụ chết. Với web server, lỗi hay gặp là sai cú pháp trong file cấu hình, hoặc một cổng đã bị tiến trình khác chiếm.
Điều cần nhớ khi quản lý dịch vụ
Bốn lệnh cốt lõi bạn sẽ dùng suốt là status, restart, enable và journalctl. Status để chẩn đoán, restart để cấp cứu, enable để dịch vụ tự lên sau reboot, journalctl để tìm nguyên nhân khi có lỗi. Nhớ được bốn lệnh này là đủ xử lý phần lớn tình huống dịch vụ dừng.
Tên dịch vụ đôi khi khác nhau giữa các bản Linux, ví dụ SSH là sshd trên CentOS nhưng có thể là ssh trên Ubuntu. Khi không chắc tên, chạy systemctl list-units --type=service để xem danh sách dịch vụ đang có trên máy.
Bài khác trong Linux Server
Xem cả 22 bàiLàm theo vẫn chưa được?
Gửi yêu cầu hỗ trợ, kỹ thuật xem trực tiếp trên dịch vụ của Anh/Chị.