Cách cài đặt PHP script chạy như một service trong Linux
Trước khi hướng dẫn deploy một PHP script chạy như một service trong Linux. Chúng ta cùng tìm hiểu tại sao chúng ta cần phải làm như vậy thay vì sử dụng crontab
, screen
.
Việc chạy PHP script như một service trong Linux, thực chất là viết một đoạn bash script để chạy chương trình của bạn với nohup
, sẽ có một vài ưu điểm bạn có thể cân nhắc:
-
nohup
được sử dụng cho tiến trình ngầm khi tiến trình đó không sử dụng đầu vào từ user chẳng hạn như những batch job. -
nohub
sẽ chạy trên một tiến trình độc lập, bạn có thể dễ dàngstart
,stop
,status
vàrestart
- Tránh những trường hợp không may ấn tổ hợp phím để dừng một tiến trình trong
screen
nhưCtrl' +
C` - Thông tin log sẽ được viết xuống một file được chỉ định, dễ dàng cho việc kiểm tra lỗi.
- Hoạt động hiệu quả và tốn ít bộ nhớ.
Dưới đây là cách deploy một PHP script chạy như một service trong Linux. Bạn cần có quyền của root để có thể làm điều này.
-
Đầu tiên bạn tạo một file dưới thư mục /etc/init.d bằng trình soạn thảo bạn quen thuộc như vi hoặc emacs. Ví dụ mình tạo một file là import_test_case thì sẽ tạo như sau vi /etc/init.d/import_test_case.
-
Thay đổi một vài thông tin trong file bash script ở bên dưới. Như là SERVICE_NAME, PATH_TO_PROJECT, PATH_TO_LOG, COMMAND để script biết được tên của service, vị trí của dự án, vị trí để viết file log, command sẽ thực hiện.
-
Cho phép file bạn vừa tạo có thể chạy bằng lệnh sudo chmod +x /etc/init.d/import_test_case
-
Một vài lệnh bạn có thể kiểm tra với service mới bạn định sử dụng
- chạy service bằng lệnh service import_test_case start
- dừng service bằng lệnh service import_test_case stop
- khởi động lại service bằng lệnh service import_test_case restart
- kiểm tra trạng thái của service bằng lệnh service import_test_case status
Enjoy Reading This Article?
Here are some more articles you might like to read next: