在linux上安裝Supervisor,並用它守護dotnet進程

先附上官方的文檔,文檔很全面。 supervisord官方文檔 html

如下只是記錄一下本身的流程,方便後續回憶。app

---------------------------------rest

安裝 supervisor日誌

yum install supervisor -y

 

安裝完成後,/etc 目錄下會多出supervisord.conf 文件和 supervisord.d目錄。code

supervisord.conf 文件是配置文件,直接用默認的,若是有興趣能夠去官網上查看各個參數對應的意義。htm

進入supervisord.d目錄,建立一個 *.ini   文件。這個文件是用來配置啓動參數的。例子以下文檔

[program:cli]
command=dotnet neo-cli.dll --rpc   ;啓動程序的參數
directory=/root/neo-cli-nel/neo-cli-nel/bin/Debug/netcoreapp2.1 ;啓動程序所在的位置
autostart=true  ;是否自啓
autorestart=true ;是否自動重啓
startsecs=10 ;重啓間隔
stderr_logfile=/var/log/cli.err.log ;錯誤輸出日誌
stdout_logfile=/var/log/cli.out.log ;程序輸出日誌

[program:cli-nep5]
command=dotnet neo-cli.dll --rpc
directory=/root/neo-cli-nel-nep5/neo-cli-nel/neo-cli-nel/bin/Debug/netcoreapp2.1
autostart=true
autorestart=true
startsecs=10
stderr_logfile=/var/log/cli-nep5.err.log
stdout_logfile=/var/log/cli-nep5.out.log

這個文件有一個參數,叫作environment。能夠不用填,我一開始填了反而出現了奇怪的問題。rpc

啓動 supervisordget

supervisord -c /etc/supervisor/supervisord.conf

須要注意的是,/etc/supervisor/supervisord.conf 這個路徑表明的是你配置文件的位置,若是你配置文件在別處,對應修改就能夠了。例如我用ubutun系統時,使用的時apt-get安裝,配置文件的位置就不同。io

最後查看程序啓動的狀態

supervisorctl status
相關文章
相關標籤/搜索