supervisord初體驗

Supervisor是一個客戶端/服務器系統,允許其用戶監視和控制類似UNIX的操作系統上的許多進程。

安裝


1.supervisord是python的一個庫可以直接用過pip來進行安裝

pip install supervisor

2.如果沒有pip可以在PyPi[https://pypi.org/project/supervisor/]上下載supervisord的安裝包來進行手動安裝

python setup.py install

配置


1.生成配置文件

在終端中輸入echo_supervisord_conf可以打印出配置文件的模板。
2.新建一個supervisord配置文件

echo_supervisord_conf > /etc/supervisord.conf

啓動


1.初始化啓動supervisord

supervisord -c /etc/supervisord.conf

2.supervisord常用命令

supervisorctl start		#啓動
supervisorctl stop		#停止
supervisorctl status		#查看狀態
supervisorctl reload		#重新加載守護進程配置文件

添加一個守護程序


1.創建守護文件配置

mkdir /etc/supervisord/conf.d
vim test.conf

在配置文件中添加:

[program:public_monitor]
process_name=monitor
command=/usr/bin/python3 /home/kafka/monitor.py
autostart=true
startsecs=10		;啓動10秒沒有異常退出則表示正常運行
autorestart=true	;程序退出後自動重啓
startretries=3		;啓動失敗重試次數,默認是3
user=root
redirect_stderr=true
stderr_logfile=/var/log/supervisor/monitor/progress.err.log
stdout_logfile=/var/log/supervisor/monitor/progress.out.log
stopsignal=INT

重載配置文件supervisoctl reload,然後查看supervisord的狀態supervisoctl status
可以看到現在有一個 守護程序正在運行
運行狀態

將supervisord設置開機自啓

編輯服務配置文件supervisord.service:

#supervisord.service

[Unit] 
Description=Supervisor daemon

[Service] 
Type=forking 
ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf 
ExecStop=/usr/bin/supervisorctl shutdown 
ExecReload=/usr/bin/supervisorctl reload 
KillMode=process 
Restart=on-failure 
RestartSec=42s

[Install] 
WantedBy=multi-user.target

將文件拷貝到/usr/lib/systemd/system/

cp supervisord.service /usr/lib/systemd/system/
啓動服務

systemctl enable supervisord
驗證一下是否爲開機啓動

systemctl is-enabled supervisord

發佈了40 篇原創文章 · 獲贊 23 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章