基于centos7打造个人服务器(三):Supervisor安装部署

介绍

如何保证服务正常运行是广大程序员们都关心的问题。要知道在项目开发完了,往服务器上一部署就撒手不管了,可不是你我该有的态度。等碰到服务半夜异常退出的时候,那就头大了。该如何让我们的服务运行更稳定呢?那么就要请出今天要介绍给大家的主角supervisor了!

supervisor是一款基于python开发的守护进程工具,支持Linux/Unix系统的进程管理,提供对进程进行交互式命令行模式及HTTP网页模式的控制,自4.0版本发布之后,已全面支持python2及python3的部署。

部署及安装

获取supervisor

因为是直接基于centos7的,所以直接通过yum命令安装即可,而且通过yum直接安装时,会自动生成启动脚本,方便配置supervisor随系统启动。

# 安装下载源
sudo yum install epel-release
sudo yum install supervisor

配置文件

安装完成之后会在/etc目录下生成主配置文件及子配置文件目录

主配置文件

# /etc/supervisord.conf
# 关键内容

# 若要开启web管理,则像如下配置
[inet_http_server]
port=0.0.0.0:9001
username=user
password=123
# 如下配置用于指定子配置文件路径及有效子配置文件后缀`.ini`
[include]
files = supervisord.d/*.ini

子配置文件目录

# /etc/supervisord.d/
# 示例 /etc/supervisord.d/frp_client.ini
[program:frp_client]
directory = /opt/frp ; 程序的启动目录
command = /opt/frp/frpc -c frpc.ini   ; 启动命令,可以看出与手动在命令行启动的命令是一样的
autostart = true     ; 在 supervisord 启动的时候也自动启动
startsecs = 5        ; 启动 5 秒后没有异常退出,就当作已经正常启动了
autorestart = true   ; 程序异常退出后自动重启
startretries = 3     ; 启动失败自动重试次数,默认是 3
user = wuyue          ; 用哪个用户启动
redirect_stderr = true  ; 把 stderr 重定向到 stdout,默认 false
stdout_logfile_maxbytes = 20MB  ; stdout 日志文件大小,默认 50MB
stdout_logfile_backups = 20     ; stdout 日志文件备份数
; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)
stdout_logfile = /data/logs/frp_client_stdout.log
;
; ; 可以通过 environment 来添加需要的环境变量,一种常见的用法是修改 PYTHONPATH
; ; environment=PYTHONPATH=$PYTHONPATH:/path/to/somewhere

注意事项:

  1. command最好使用绝对路径,使用相对路径时,supervisor可能找不到启动命令,导致服务启动失败;
  2. 若程序要求使用普通用户运行时,一定要在将user配置为对应的普通用户,否则将使用root用户启动程序;
  3. 配置好stdout_logfile有利于进行程序异常的定位。

启动服务

sudo systemctl start supervisord.service
# 配置服务开机启动
sudo systemctl enable supervisord.service

命令行模式

sudo supervisorctl
frp_client                       RUNNING   pid 1468, uptime 23:57:52
hass                             RUNNING   pid 1354, uptime 23:57:54
jupyterlab                       STOPPED   Not started
wukong_robot                     STOPPED   Not started

HTTP管理模式

输入配置的用户名及密码
在这里插入图片描述

至此便能方便的对进程进行监控管理了,即便是服务器宕机重启,supervisor也能成功的重新拉起部署的服务,美滋滋有木有~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值