天天看点

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,如需转载请自行联系原作者

继续阅读