2016-05-24 12 views
6

Sáng nay, tôi phải nâng cấp giám sát của tôi bằng cách sử dụngSupervisor 3.3 với Ubuntu 16,04 dịch vụ bắt đầu thất bại

pip install --upgrade supervisor //from 3.2 to 3.3 

Nhưng sau đó, tình trạng dịch vụ bắt đầu thông báo nó thất bại.

supervisor.service - Supervisor process control system for UNIX 
Loaded: loaded (/lib/systemd/system/supervisor.service; disabled; vendor preset: enabled) 
Active: activating (auto-restart) (Result: exit-code) since Tue 2016-05-24 12:19:48 CST; 25s ago 
Docs: http://supervisord.org 
Process: 27369 ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown (code=exited, status=203/EXEC) 
Process: 27366 ExecStart=/usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf (code=exited, status=203/EXEC) 
Main PID: 27366 (code=exited, status=203/EXEC) 

May 24 12:19:48 709101111291e5cZ systemd[1]: supervisor.service: Unit entered failed state. 
May 24 12:19:48 709101111291e5cZ systemd[1]: supervisor.service: Failed with result 'exit-code'. 

Đây là cấu hình lao động của tôi:

[program:worker] 
process_name=%(program_name)s_%(process_num)02d 
command=php artisan queue:listen --timeout=360 --queue=high,low --sleep=3 --tries=3 
autostart=true 
autorestart=true 
exitcodes=0,2 
user=www 
numprocs=2 
redirect_stderr=true 
stdout_logfile=/www/worker/storage/logs/worker.log 

sẽ hài lòng ai đó có thể giúp đỡ?

Trả lời

5

tôi sửa chữa các vấn đề bằng cách chỉnh sửa /lib/systemd/system/supervisor.service, và tốt nhất để sử dụng lệnh cài đặt giám sát easy_install supervisor

[Unit] 
Description=Supervisord Service 

[Service] 
ExecStart=/usr/local/bin/supervisord -n -c /etc/supervisor/supervisord.conf 
ExecStop=/usr/local/bin/supervisorctl $OPTIONS shutdown 
ExecReload=/usr/local/bin/supervisorctl -c /etc/supervisor/supervisord.conf $OPTIONS reload 
KillMode=process 
Restart=on-failure 
RestartSec=50s 


[Install] 
WantedBy=multi-user.target 

Con đường supervisord đã sai trong thiết lập mặc định, nó là/usr/bin. nhưng pip cài đặt sẽ đặt nó trong/usr/local/bin.

+0

"pip install - supervatoror" không cài đặt nó làm dịch vụ. Bạn đã sử dụng "sudo apt-get install supervisor" chưa? Nếu vậy, sau đó nó được cài đặt trong/usr/bin ... – vgoklani

+0

@vgoklani Trên thực tế, tôi thực hiện hai cách để cài đặt nó, vì gói chính thức của Ubuntu chỉ 3.2, và sau đó tôi nâng cấp nó bằng pip install --upgrade. –

11

Tôi đang sử dụng Ubuntu 16.04 sử dụng Giám sát 3.2 và nhận được lỗi tương tự khi tôi cố bắt đầu người giám sát với người giám sát dịch vụ bắt đầu.

Tôi đã sử dụng apt-get install supervisor để cài đặt người giám sát và đặt supervisorctl và người giám sát vào /usr/bin/.

Và tệp supervisor.service của tôi đang trỏ tại /usr/bin/. Tôi bị kẹt.

CẬP NHẬT Tôi phát hiện ra sự cố, hóa ra có lỗi phân tích cú pháp trong một trong các tệp .conf của tôi trong /etc/supervisor/conf.d/. Một khi tôi đã sửa nó hoạt động. Lỗi đó không rõ ràng nhưng có một gợi ý về cách tìm ra nó. Trong đó sản lượng lỗi ban đầu có một dòng như

ExecStart=/usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf (code=exited, status=203/EXEC)

Run /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf từ dòng lệnh và nó sẽ cung cấp cho bạn một lỗi dài hơn.

+0

Tôi cũng gặp vấn đề này. Tôi nghĩ rằng nó là khôn ngoan để bắt đầu giám sát đầu tiên mà không cần bất kỳ tập tin cấu hình, sau đó thêm các tập tin cấu hình của bạn và xem những cái nào không hoạt động. – rednaw

0

Tôi gặp sự cố tương tự, nơi tôi nhận được trạng thái = 2 làm mã thoát. Không còn manh mối nào nữa về những gì có thể xảy ra.

Chỉ ra rằng Giám sát viên sẽ không khởi động nếu thư mục nhật ký của nó không tồn tại. Vì thư mục này đã được gắn trên một tmpfs, sau khi khởi động lại thiết bị, nó sẽ bị xóa một lần nữa.

này gây ra Supervisor để không khởi động (vấn đề được biết: https://github.com/Supervisor/supervisor/issues/121)

Như một sửa chữa, tôi đã thêm các dòng sau vào kịch bản khởi động của tôi:

mkdir /var/log/supervisor 
sudo service supervisor restart 

Bây giờ thư mục được tạo ra khi khởi động và người giám sát bắt đầu chính xác.

0

Tôi không biết cách khởi động dịch vụ trong Ubuntu, mặc dù nó có /lib/systemd/system/supervisor.service và định cấu hình đúng. Nhưng khi bạn service supervisor start nó được đeo mặt nạ. Tôi sử dụng mẹo, cả hai apt install supervisoreasy_install supervisor, sau đó easy_install -U supervisor.Bây giờ, nó có hai phiên bản khác biệt của nó, /usr/local/bin/supervisord --version // Version 3.3.3 until 26th,Jan,2018 /usr/bin/supervisord --version // Version 3.2.0 Ubuntu 16.04

Sau đó, chỉnh sửa /lib/systemd/system/supervisor.service/etc/init.d/supervisor, thay đổi tất cả các /usr/bin/supervisord-/usr/local/bin/supervisord

Cuối cùng, trong bash, tải lại cấu hình dịch vụ. sudo systemctl daemon-reload Hiện tại, tất cả dịch vụ đều chạy phiên bản mới nhất của người giám sát.

Có thể, có thể thử cách này để vạch mặt dịch vụ.

systemctl unmask supervisor 
systemctl enable supervisor 
systemctl restart supervisor 
Các vấn đề liên quan