如何安裝使用supervisor

一、什麼是supervisor

Supervisor是一種針對UNIX系統的客戶端/伺服器系統,它可以用來使運行在同一台物理機上的多個進程同時工作。使用Supervisor,你可以簡單地監控和控制這些進程,以達到保持它們的狀態與持續工作的效果。

二、安裝supervisor

下面是安裝supervisor的步驟。

1. 安裝pip

執行以下命令安裝pip:

sudo apt-get install python-pip

2. 安裝supervisor

使用pip命令安裝Supervisor:

sudo pip install supervisor

3. 配置supervisor

一旦安裝了Supervisor,我們就需要進行一些配置。

首先,在終端中執行一下命令創建一個默認配置文件:

echo_supervisord_conf >> /etc/supervisord.conf

保存之後,我們可以打開配置文件並對其進行修改:

sudo vi /etc/supervisord.conf

注意:使用vim或者nano也可以進行編輯。

在配置文件中可以看到如下所示的內容:

; Sample supervisor config file.
;
; For more information on the config file, please see:
; http://supervisord.org/configuration.html
;
; Note: shell expansion ("~" or "$HOME") is not supported.  Environment
; variables can be expanded using this syntax: "%(ENV_VAR_NAME)s".
;

[unix_http_server]
file=/tmp/supervisor.sock   ; (the path to the socket file)

[supervisord]
logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/tmp/           ; ('AUTO' child log dir, default $TEMP)

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket

[program:foo]
command=/bin/cat                    ; the program (relative uses PATH, can take args)
process_name=%(program_name)s       ; process_name expr (default %(program_name)s)
numprocs=1                          ; number of processes copies to start (def 1)
directory=/tmp                      ; directory to cwd to before exec (def no cwd)
autostart=true                      ; start at supervisord start (default: true)
startsecs=1                         ; # of secs prog must stay up to be running (def. 1)
startretries=3                      ; max # of serial start failures when starting (default 3)
autorestart=unexpected              ; autorestart if exited after running (def: unexpected)
exitcodes=0,2                       ; 'expected' exit codes for process (default 0,2)
stopsignal=QUIT                     ; signal used to kill process (default TERM)
stopwaitsecs=10                     ; max num secs to wait before SIGKILL (default 10)
stopasgroup=false                   ; send stop signal to the UNIX process group (default false)
killasgroup=false                   ; SIGKILL the UNIX process group (def false)

這是一個示例配置文件。我們可以根據自己的需求修改或者添加配置。

4. 啟動supervisor

執行以下命令以啟動supervisor:

sudo supervisord -c /etc/supervisord.conf

注意:如果沒加-c參數指定supervisord.conf文件路徑,則supervisor會默認使用/etc/supervisord.conf文件路徑。

5. 監控supervisor

執行以下命令可以查看supervisor是否在運行。

sudo supervisorctl status

如果你看到類似以下的輸出:

unix:///tmp/supervisor.sock:ERROR (no such file)

這可能是因為supervisord服務已經停止了。執行以下命令可以啟動服務:

sudo service supervisor start

三、使用supervisor

下面通過一個示例說明如何使用supervisor。

首先,創建一個簡單的Python腳本:

#!/usr/bin/env python
import time
 
while True:
    print "Hello World!"
    time.sleep(1)

保存為hello.py。然後在supervisord.conf中添加如下內容:

[program:hello]
command=/usr/bin/python /path/to/hello.py
directory=/path/to
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/path/to/hello.log

然後重新載入配置:

sudo supervisorctl reread
sudo supervisorctl update

這個示例將Python腳本添加為supervisor進程,當supervisord服務運行時會自動啟動hello.py。

四、總結

Supervisor是一個非常方便的進程監控與控制工具,通過上述步驟可以輕鬆安裝並使用它。使用它可以讓我們更加輕鬆地管理和監控一些常駐進程。

原創文章,作者:BNADC,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/371384.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
BNADC的頭像BNADC
上一篇 2025-04-23 00:48
下一篇 2025-04-23 00:48

相關推薦

  • 安裝supervisor詳細教程

    一、準備工作 在開始安裝supervisor前,需要確保伺服器上已經安裝了Python以及pip,如果沒有安裝則需要先安裝。 sudo apt-get update sudo ap…

    編程 2025-02-01
  • 使用Ubuntu和Supervisor輕鬆部署和管理應用程序

    一、什麼是Supervisor Supervisor是一種進程管理工具,可用於將多個後台進程捆綁到同一主機上,並在運行時自動管理它們。 它可以增強我們的應用程序:1、自動啟動應用程…

    編程 2024-12-15
  • supervisor配置詳解

    一、安裝 Supervisor是一款基於Python開發的進程管理工具,具有簡單易用、跨平台、可靠穩定、易擴展等優點。在使用該工具之前,首先需要安裝。我們可以使用pip或yum進行…

    編程 2024-12-11
  • Supervisor重啟指南

    Supervisor是一個非常實用的進程管理工具,可以用來監控和控制進程的狀態,支持進程的自動重啟等等。本文將從多個方面對Supervisor的重啟進行詳細的闡述,幫助你更好地使用…

    編程 2024-11-27
  • 在Home Assistant上安裝Supervisor

    一、安裝Supervisor插件 安裝Supervisor插件非常簡單,只需要在Home Assistant的Dashboard中進行以下操作: 1、打開「Supervisor」選…

    編程 2024-11-23
  • 使用Supervisor啟動服務

    Supervisor是一款Python開發的進程管理器,有助於管理進程的啟動、停止、重啟、監控等任務。本篇文章將從多個方面詳細介紹Supervisor的啟動方法,並給出代碼示例。 …

    編程 2024-11-17

發表回復

登錄後才能評論