Trình tạo systemd Service — Tạo file unit .service

Chạy ứng dụng của bạn như một dịch vụ Linux đúng chuẩn, tự khởi động cùng hệ thống và tự restart khi bị crash. Chọn một preset (Node.js, Python, Go, script), chỉnh lệnh chạy, user và biến môi trường, rồi nhận file .service unit có chú thích kèm sandboxing tùy chọn. Cần chạy việc theo lịch như cron? Hãy dùng .timer.

Cập nhật
File unit
Lệnh cài đặt

Dữ liệu của bạn không bao giờ rời khỏi máy tính. Mọi xử lý diễn ra 100% cục bộ trong trình duyệt của bạn.

Công cụ này có hữu ích không?0.0 0 lượt đánh giá
Tạo server block Nginx cho site tĩnhSPA, reverse proxy và PHP-FPM, kèm HTTPS, chuyển hướng www, gzip, caching, security headers và giới hạn request.Tạo Cấu Hình Nginx →

Cách dùng Trình tạo systemd Service

  1. Chọn một preset — Node.js, Python với Gunicorn, file binary Go hoặc script chạy theo lịch — để tự điền các giá trị mặc định hợp lý.
  2. Đặt command, thư mục làm việc và user sẽ chạy dịch vụ (tạo bằng useradd --system; đừng bao giờ chạy ứng dụng bằng root).
  3. Thêm biến môi trường hoặc EnvironmentFile, chọn chính sách restart và giữ sandboxing được bật.
  4. Sao chép file unit vào /etc/systemd/system/ rồi chạy các lệnh cài đặt được hiển thị.

Ba phần của file unit

PhầnThiết lập chính
[Unit]Description, và After=/Wants=network-online.target để ứng dụng chỉ khởi động sau khi mạng đã sẵn sàng
[Service]ExecStart (đường dẫn tuyệt đối), User, WorkingDirectory, Environment, Restart và RestartSec
[Install]WantedBy=multi-user.target — nơi systemctl enable gắn dịch vụ vào để nó tự chạy khi khởi động

Sandboxing

Các tùy chọn hardening giúp dịch vụ an toàn hơn đáng kể mà không cần sửa code: NoNewPrivileges, ProtectSystem=strict (hệ thống file chỉ đọc, ngoại trừ ReadWritePaths), ProtectHome, PrivateTmp, PrivateDevices và các lớp bảo vệ kernel. Kiểm tra kết quả bằng systemd-analyze security my-app. Nếu ứng dụng cần ghi vào nơi khác, hãy thêm đường dẫn đó vào ReadWritePaths.

Dùng timer thay cho cron

Unit .timer kích hoạt một service oneshot theo lịch. Khác với cron, các lần chạy được ghi lại trong journal, timer có thể bù các lần chạy bị lỡ (Persistent=true) và bạn xem được lần chạy tiếp theo bằng systemctl list-timers. Để đổi một dòng cron thành giá trị OnCalendar, xem Trình tạo Cron Expression.

Cũng được tìm dưới tên: systemd service generator, tạo file systemd service, systemd unit file generator, tạo service systemd, file .service systemd, chạy node js bằng systemd, systemd timer thay cron, tạo file unit systemd.

Các công cụ dùng kèm tốt với Trình tạo systemd Service

  • Tạo Cấu Hình Nginx — Chọn việc Nginx cần làm — phục vụ site tĩnh hoặc SPA, proxy tới ứng dụng Node/Python, hoặc chạy PHP — rồi đánh dấu các tùy chọn thêm.
  • Tạo Dockerfile — Chọn stack của bạn và nhận ngay Dockerfile chuẩn production: multi-stage build, lớp cache cho dependency, người dùng non-root, health check và .dockerignore phù hợp, kèm giải thích từng dòng.
  • Trình tạo Apache VirtualHost — Lấy cấu hình Apache virtual host đầy đủ cho tên miền của bạn: web tĩnh, WordPress, PHP-FPM hoặc reverse proxy tới ứng dụng Node hay Python.
  • Trình tạo Caddyfile — Caddy tự động lấy chứng chỉ HTTPS — bạn chỉ cần mô tả trang web của mình.

Câu hỏi thường gặp

Đặt file systemd service ở đâu?
Lưu thành /etc/systemd/system/NAME.service, chạy sudo systemctl daemon-reload, rồi chạy sudo systemctl enable --now NAME để khởi động ngay và tự chạy mỗi lần bật máy.
Làm sao xem log của dịch vụ?
Chạy journalctl -u NAME -f để theo dõi log trực tiếp, hoặc journalctl -u NAME --since today. Mọi thứ ứng dụng in ra stdout hoặc stderr đều được ghi vào đó.
Restart=always và on-failure khác nhau thế nào?
on-failure chỉ restart sau khi crash hoặc thoát với mã khác 0; always còn restart cả khi thoát bình thường. Dùng on-failure cho hầu hết ứng dụng và always cho worker không bao giờ được dừng.
systemd có thể thay thế cron không?
Có — tick “Run on a schedule” để tạo unit .timer. Timer ghi lại mọi lần chạy, có thể bù sau thời gian downtime và dễ kiểm tra hơn các dòng trong crontab.
Tôi có thể cài Trình tạo systemd Service như một ứng dụng web và dùng khi không có mạng không?
Có. Trình tạo systemd Service là một ứng dụng web (PWA) có thể cài đặt — cài trực tiếp từ trình duyệt, không cần tải từ cửa hàng ứng dụng. Trên Chrome hoặc Edge (Windows, macOS, Linux, ChromeOS) hoặc Android, bấm Cài đặt ứng dụng ở đầu trang này; trên iPhone và iPad, dùng Chia sẻ → Thêm vào Màn hình chính; trên Mac, dùng File → Add to Dock trong Safari 17 trở lên. Sau đó ứng dụng mở trong cửa sổ riêng với biểu tượng riêng, và vì chạy hoàn toàn trên trình duyệt nên vẫn hoạt động khi không có mạng. Firefox trên máy tính không thể cài ứng dụng web. Cách cài đặt hoạt động thế nào.

Công cụ liên quan