輸入如下命令便可安裝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_logfile和stderr_logfile用戶存儲標準輸出和錯誤的日誌文件htm
還有一些其餘的參數,如environment存儲環境標量,redirect_stderr,stdout_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 ,組名冒號服務名的格式。