天天看點

supervisor安裝配置

系統環境: CentOS7

supervisor版本:supervisor-3.1.4-1.el7.noarch

安裝:

1

<code>yum -y </code><code>install</code> <code>supervisor</code>

啟動服務:

<code>supervisord -c </code><code>/etc/supervisord</code><code>.conf</code>

用systemctl管理supervisord服務

進入目錄 /usr/lib/systemd/system/,增加檔案 supervisord.service,來使得機器啟動的時候啟動supervisor,檔案内容

2

3

4

5

6

7

8

9

10

11

12

13

14

<code># supervisord service for systemd (CentOS 7.0+)</code>

<code># by ET-CS (https://github.com/ET-CS)</code>

<code>[Unit]</code>

<code>Description=Supervisor daemon</code>

<code>[Service]</code>

<code>Type=forking</code>

<code>ExecStart=</code><code>/usr/bin/supervisord</code> <code>-c </code><code>/etc/supervisord</code><code>.conf</code>

<code>ExecStop=</code><code>/usr/bin/supervisorctl</code> <code>$OPTIONS </code><code>shutdown</code>

<code>ExecReload=</code><code>/usr/bin/supervisorctl</code> <code>$OPTIONS reload</code>

<code>KillMode=process</code>

<code>Restart=on-failure</code>

<code>RestartSec=42s </code>

<code>[Install]</code>

<code>WantedBy=multi-user.target</code>

激活開機啟動指令

<code>systemctl </code><code>enable</code> <code>supervisord.service</code>

啟動supervisor程序

<code>systemctl start supervisord.service</code>

關閉supervisor程序

<code>systemctl stop supervisord.service</code>

如果修改了supervisor.service檔案,可以通過reload指令來重新加載配置檔案

<code>systemctl reload supervisord.service</code>

使用superviosr管理其他服務

下面是以supervisor管理.Net Core程式為例寫的一個配置檔案

進入/etc/supervisord.d/建立一個以.ini結尾的檔案,内容如下

<code>[program:Fastel.InvoiceService]  </code><code>##Fastel.InvoiceService是服務名稱</code>

<code>command</code><code>=dotnet Fastel.InvoiceService.dll --ENVIRONMENT Release  </code><code>##啟動服務需要執行的指令</code>

<code>directory=</code><code>/opt/Apps/Fastel</code><code>.InvoiceService</code><code>/latest/packages</code>  <code>##在哪個目錄下執行啟動服務的指令</code>

<code>user=user1 </code><code>##以user1使用者啟動Fastel.InvoiceService服務</code>

<code>stdout_logfile=</code><code>/opt/Apps/Fastel</code><code>.InvoiceService</code><code>/logs/stdout</code><code>.log  </code><code>##标準輸出日志路徑</code>

<code>stderr_logfile=</code><code>/opt/Apps/Fastel</code><code>.InvoiceService</code><code>/logs/err</code><code>.log     </code><code>##錯誤日志路徑</code>

<code>autostart=</code><code>true</code>       <code>##改服務随supervisor服務啟動而啟動</code>

<code>autorestart=</code><code>true</code>     <code>##服務stop後自動重新開機</code>

<code>#startsecs=5        ##子程序啟動多少秒之後,此時狀态如果是running,則我們認為啟動成功了。預設值為1,非必須設定</code>

<code>#priority=1</code>

<code>#stopasgroup=true</code>

<code>#killasgroup=true</code>

supervisorctl 指令管理服務

<code>supervisorctl  status</code>

檢視正在守候的所有服務狀态

<code>supervisorctl  update</code>

更新或者修改/etc/supervisord.d/下面的服務配置檔案後,執行此指令重新加載配置

<code>supervisorctl  reload</code>

重新開機supervisor中所有程式

<code>supervisorctl  restart all</code>

<code>supervisorctl  restart service_name</code>

重新開機指定的服務

<code>supervisorctl  stop all</code>

停止所有服務

配置檔案解釋:

<a href="https://www.cnblogs.com/ajianbeyourself/p/5534737.html">https://www.cnblogs.com/ajianbeyourself/p/5534737.html</a>

本文轉自 曾哥最愛 51CTO部落格,原文連結:http://blog.51cto.com/zengestudy/2052794,如需轉載請自行聯系原作者

繼續閱讀