supervisor來管理和監控進程

安裝

 輸入如下命令便可安裝html

sudo apt-get install supervisor


配置文件說明

配置文件存放目錄在
redis

cd /etc/supervisor/conf.d

一個服務對應一個.conf文件shell


如下是個人redis配置文件redis.conf
工具

[program:redis]
command=/usr/local/bin/redis-server /var/lib/redis/redis.conf
autostart=true
autorestart=true
user=redis
stdout_logfile=/var/log/redis/redis-stdout.log
stderr_logfile=/var/log/redis/redis-stderr.log

program:後面表示服務名字, 會顯示在管理工具裏面,我給它命名爲redisspa

command表示須要運行的命令,每次start都會執行這個命令rest

autostart表示服務是否須要跟隨supervisor啓動日誌

autorestart表示當服務掛掉的時候是否須要自動重啓code

user表示使用哪一個用戶運行該命令,我新建了一個專門的redis來跑redis服務,通常使用本身的帳號就好了,除非須要特殊權限server

stdout_logfilestderr_logfile用戶存儲標準輸出和錯誤的日誌文件htm

還有一些其餘的參數,如environment存儲環境標量,redirect_stderrstdout_logfile_backups等參數能夠參考官方的文檔說明

http://supervisord.org/configuration.html


使用方法

先進入管理界面

sudo supervisorctl

輸入help能夠看到有不少命令

通常最經常使用的就是start啓動服務 stop中止服務  還有update就是從新讀取全部的服務的配置,若是有新增的配置文件就會增一個服務,若是服務配置有更改會重啓服務(慎用,若是你改了配置文件而不想馬上重啓服務)

supervisor> stop redis
redis: stopped
supervisor> start redis
redis: started
supervisor> restart redis
redis: stopped
redis: started
supervisor>


管理一組程序

有時候會有但願同時啓動或者關閉一組程序,那你可使用程序組,只須要在配置目錄下面加上一個額外的配置文件便可

/etc/supervisor/conf.d


程序組的配置文件,在programs賦值爲你須要管理的成員的服務名稱,例如我這個組名叫test-group,它有兩個成員test-group-1和test-group-2,每一個成員之間用逗號隔開便可

[group:test-group]
programs=test-group-1,test-group-2


組成員的配置文件和普通成員沒什麼區別

[program:test-group-1]
command=xxx
autostart=true
autorestart=true
user=redis
stdout_logfile=xxx
stderr_logfile=xxx
[program:test-group-2]
command=xxx
autostart=true
autorestart=true
user=redis
stdout_logfile=xxx
stderr_logfile=xxx


啓動這個組的全部服務只須要在supervisorctl下面使用命令

supervisor> start test-group:*

中止和重啓以及更新等其它命令相似使用


至關於supervisorctl內部的服務名字從test-group-1變爲test-group:test-group-1 ,組名冒號服務名的格式。

相關文章
相關標籤/搜索