CentOS7安装Supervisor进程守护,并且创建项目
安装Supervisor
#执行epel-release epel-release会配置Supervisor的源 sudo yum -y install epel-release #安装Supervisor sudo yum -y install supervisor #通过配置文件来启动supervisor sudo supervisord -c /etc/supervisord.conf #启动supervisorctl sudo supervisorctl -c /etc/supervisord.conf #查看supervisor 版本 version
创建项目
#进入supervisord.d目录 cd /etc/supervisord.d #新建项目的配置文件 sudo touch sok.ini
配置文件内容
#查看和编辑sok.ini配置文件 sudo vim sok.ini #程序名称 [program:sok] #执行指令 command=python3.8 sok.py #程序所在目录 directory=/sok #环境变量 environment=ASPNETCORE_ENVIRONMENT=Production #执行进程身份 user=root #自动启动 Supervisor启动后就拉起来 autorestart=true #错误日志保存位置 stderr_logfile=/sok/Error.log #日志保存位置 stdout_logfile=/sok/Out.log
配置完成后重新加载配置
#通过配置文件来启动supervisor sudo supervisord -c /etc/supervisord.conf 主意:如果报错说明已经启动就跳过这一步 #启动supervisorctl sudo supervisorctl -c /etc/supervisord.conf #重新加载配置文件 reload #查看运行的状态 status 结果如下: supervisor> status sok RUNNING pid 1442, uptime 0:00:06
配置Supervisor开机自启
#进入system目录 cd /usr/lib/systemd/system #编辑supervisord.service文件 sudo vim supervisord.service 修改后内容 [Unit] Description=Process Monitoring and Control Daemon After=rc-local.service nss-user-lookup.target [Service] Type=forking ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf ExecStop=/usr/bin/supervisorctl shutdown ExecReload=/usr/bin/supervisorctl reload KillMode=process Restart=on-failure RestartSec=42 [Install] WantedBy=multi-user.target 保存退出,然后执行命令,查看是否启动成功 #启动服务 systemctl enable supervisord #验证一下是否为开机启动 systemctl is-enabled supervisord 可以重启CentOS然后直接访问接口测试是否开机自正常
Supervisor常用指令
# 启动所有
supervisorctl start all
# 重启所有
supervisorctl restart all
# 停止所有
supervisorctl stop all
#PS:要操作某个服务,把all换成服务名即可
#查看服务状态
supervisorctl status
本文转载自:http://www.dotlemon.top/blog/20