Tôi đang thiết lập người giám sát để chạy một số tập lệnh vĩnh viễn.
Nếu tôi bắt đầu giám sát mà không có bất kỳ chương trình nào (tệp *.conf trong /etc/supervisor/conf.d), nó sẽ chạy hoàn toàn bình thường
root@mạng:~# systemctl khởi động lại người giám sát
root@mạng:~# người giám sát
người giám sát>
File cấu hình bên dưới:
; tập tin cấu hình giám sát
[unix_http_server]
tập tin=/var/run/supervisor.sock ; (đường dẫn đến tệp ổ cắm)
chmod=0700 ; chế độ tập tin sockef (mặc định 0700)
[giám sát]
logfile=/var/log/supervisor/supervisord.log ; (tệp nhật ký chính; mặc định $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (tệp được giám sát; giám sát mặc định.pid)
childlogdir=/var/log/giám sát ; (Thư mục nhật ký con 'AUTO', mặc định là $TEMP)
; phần bên dưới phải nằm trong tệp cấu hình cho RPC
; (giám sát/giao diện web) hoạt động, các giao diện bổ sung có thể được
; được thêm vào bằng cách xác định chúng trong rpcinterface riêng biệt: các phần
[rpcinterface:giám sát viên]
giám sát.rpcinterface_factory = giám sát viên.rpcinterface:make_main_rpcinterface
[inet_http_server]
cổng=*:9001
tên người dùng = foo
mật khẩu = thanh
[giám sát]
serverurl=unix:///var/run/supervisor.sock ; sử dụng URL unix:// cho ổ cắm unix
; Phần [bao gồm] chỉ có thể chứa cài đặt "tệp". Cái này
; cài đặt có thể liệt kê nhiều tệp (được phân tách bằng khoảng trắng hoặc
; dòng mới). Nó cũng có thể chứa các ký tự đại diện. Tên tập tin là
; được hiểu là liên quan đến tập tin này. Các tệp được bao gồm *không thể*
; tự bao gồm các tệp.
[bao gồm]
tệp = /etc/supervisor/conf.d/*.conf
Tôi cũng thấy màn hình giao diện người dùng web như sau:
Tệp nhật ký hiển thị:
25-03-2022 22:21:47,391 Trình giám sát CRIT đang chạy với quyền root. Đặc quyền không bị loại bỏ vì không có người dùng nào được chỉ định trong tệp cấu hình. Nếu bạn định chạy với quyền root, bạn có thể đặt user=root trong tệp cấu hình để tránh thông báo này.
25-03-2022 22:21:47,391 CẢNH BÁO Không có tệp nào khớp qua bao gồm "/etc/supervisor/conf.d/*.conf"
25-03-2022 22:21:47,399 Đã khởi tạo giao diện INFO RPC 'giám sát'
25-03-2022 22:21:47,400 Khởi tạo giao diện INFO RPC 'giám sát'
25-03-2022 22:21:47,400 Máy chủ CRIT 'unix_http_server' chạy mà không cần kiểm tra xác thực HTTP
25-03-2022 22:21:47,400 Người giám sát INFO đã bắt đầu với pid 39887
Tuy nhiên, nếu tôi thêm một tệp chương trình vào /etc/supervisor/conf.d/ez_send_email.conf
[chương trình:ez_send_email]
command=php /var/www/html/ez/index.php worker process_email_queue
người dùng = gốc
tự khởi động=true
tự khởi động lại=true
bắt đầu = 5
stdout_logfile=/var/log/supervisord/ez_send_email_output.log
thiết bị xuất chuẩn_logfile_maxbytes=10MB
stderr_logfile=/var/log/supervisord/ez_send_email_error.log
stderr_logfile_maxbytes=10MB
Tôi nhận được đầu ra sau khi chạy người giám sát
root@mạng:~# systemctl khởi động lại người giám sát
root@mạng:~# người giám sát
unix:///var/run/supervisor.sock không có tệp nào như vậy
người giám sát>
Ngoài ra, giao diện người dùng web hiển thị:
Không có gì trong tệp nhật ký. Tôi cũng đã thử thay đổi người dùng = gốc cho người dùng không root nhưng nó cũng không hoạt động.
Chạy lệnh thủ công
php /var/www/html/ez/index.php worker process_email_queue
cũng hoạt động tốt. Vì vậy, dường như không có vấn đề gì với lệnh.
Bất kỳ trợ giúp sẽ được thực sự đánh giá cao.