使用supervisor管理Linux的应用服务

supervisor 是一个Python程序,采用守护进程的方式,对单台机器上的程序进行启停管理、自动重启等。如果你想保证的的程序异常推出后能够自动启动,supervisor就是你的一个选择

安装

安装后会产生两个可执行程序

supervisortd:守护进程服务

supervisorctl:客户端,用于命令行交互

启动

建议通过指定配置文件的方式进行启动

主配置文件

我们会将启动管理的程序放在目录下(可自定义)

environment 可以追加一些启动环境的环境变量

注意下面的inet_http_server一定要加上,否则,你的客户端控制程序就需要链接socket文件进行启动,而不是默认的端口。

程序配置实例

上面的配置文件只是为了控制的行为,为了管理我们的程序,还需要创建一批配置文件。每一个配置文件,对应一个外部程序的管理。

例子:

注意日志终端是直接阻塞在supervisor上的,所以不需要使用nohup之类的语句

管理

直接运行supervisorctl即可

可以看到提供了丰富的指令

注意:supervisor的启动要和应用程序使用相同的用户和权限(程序自己控制的除外),否则会产生死锁问题。遇到这种情况,需要手动kill进程,修正权限后使用。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181104G12SF500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券