閱讀306 返回首頁    go 阿裏雲 go 技術社區[雲棲]


supervisor安裝入門使用記錄

安裝的係統版本:
root@iZbp1eazisi1qi938qwctmZ:~# cat /proc/version
Linux version 4.4.0-79-generic (buildd@lcy01-30) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #100-Ubuntu SMP Wed May 17 19:58:14 UTC 2017

1.安裝supervisor
Ubuntu可以直接通過apt安裝:

apt-get install supervisor

查看版本:
root@iZbp1eazisi1qi938qwctmZ:/apptest/supervisortest/shdir# supervisord -version
3.2.0

2.給我們自己開發的應用程序編寫一個配置文件,讓supervisor來管理它。每個進程的配置文件都可以單獨分拆,放在/etc/supervisor/conf.d/目錄下,以.conf作為擴展名

root@iZbp1eazisi1qi938qwctmZ:~# cd /etc/supervisor/conf.d/
root@iZbp1eazisi1qi938qwctmZ:/etc/supervisor/conf.d# ll
total 16
drwxr-xr-x 2 root root 4096 Jun 19 19:55 ./
drwxr-xr-x 3 root root 4096 Jun 19 17:41 ../
-rw-r--r-- 1 root root 129 Jun 19 17:02 app.conf
-rw-r--r-- 1 root root 318 Jun 19 17:15 somjob.conf

例如:somejob文件

[program:somejob]
command=/usr/bin/python /apptest/supervisortest/shdir/somejob.py
directroy=/apptest/supervisortest/shdir
autostart=true
autorestart=true
startretries=3
user=root
stdout_logfile=/apptest/supervisortest/shdir/%(program_name)s.log
stderr_logfile=/apptest/supervisortest/shdir/%(program_name)s.logmejob

command腳本文件目錄結構:
root@iZbp1eazisi1qi938qwctmZ:/apptest/supervisortest/shdir# ll
total 320
drwxr-xr-x 2 root root 4096 Jun 19 17:20 ./
drwxr-xr-x 4 root root 4096 Jun 19 15:35 ../
-rw-r--r-- 1 root root 306803 Jun 20 14:04 somejob.log
-rw-r--r-- 1 root root 0 Jun 19 17:16 somejob.logmejob
-rwxrwxrwx 1 root root 335 Jun 19 17:05 somejob.py*

command腳本:
import sys, time
while True:
print "pyserver runing %s"%time.ctime()
sys.stdout.flush()
time.sleep(10)

3.supervisord.conf設置
增加讀取配置腳本
[include]
files = /etc/supervisor/conf.d/*.conf

還可增加web server訪問端口,不過好像沒生效(本地機器可以訪問到index.html),分號表示注釋
[inet_http_server]
; Web管理界麵設定
port=9001
;username = admin
;password = 123

4.啟動停止進程命令:
重啟supervisor,讓配置文件生效,然後運行命令supervisorctl啟動進程:

supervisorctl start somejob

停止進程:

supervisorctl stop somejob

  1. 啟動supervisor命令 supervisord -n -c /etc/supervisor/supervisord.conf

6.啟動完成後查看進程
root@iZbp1eazisi1qi938qwctmZ:~# ps -ef|grep super
root 22393 1 0 Jun19 ? 00:00:15 /usr/bin/python /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
root 22753 22393 0 Jun19 ? 00:00:01 /usr/bin/python /apptest/supervisortest/shdir/somejob.py
root 24317 24249 0 13:51 pts/0 00:00:00 grep --color=auto super
root@iZbp1eazisi1qi938qwctmZ:~#

7.參考資料:
https://blog.csdn.net/orangleliu/article/details/45057377
https://supervisord.org

最後更新:2017-06-20 14:31:46

  上一篇:go  H5響應式網站,“十大神器”輕鬆製作
  下一篇:go  linux如何修改IP 默認網關 DNS