运维:Centos8 安装 supervisor 守护 Nginx 进程笔记
1、supervisor 介绍
1.1 简介
Supervisor 是基于 Python 语言开发的一套的进程管理程序,它可以将一个普通的命令行进程变为后台 daemon,并监控进程状态,异常退出时支持自动重启。
1.2 工作原理
它主要是通过 fork/exec 的方式把这些被管理的进程当作 supervisor 的子进程来启动,这样只要在 supervisor 的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和预警。supervisor 还提供了一个功能,可以为 supervisord 或者每个子进程,设置一个非 root 的 user,这个 user 就可以管理它对应的进程。
1.3 运行环境
supervisor 可以运行在大多数类 UNIX 系统,不支持 windows 系统运行,Supervisor 运行在 python3 版本 3.4 或更高版本以及 python2 版本 2.7 上工作。
1.4 supervisor 组成
supervisord:supervisor 服务的主要管理器,负责管理我们配置的子进程,包括重启崩溃或异常退出的子进程,同时也响应来自客户端的请求。
supervisorctl:supervisord 服务的客户端命令行。听过这个,我们可以获得由主进程控制的子进程的状态,停止和启动子进程,并获得主进程的运行列表。
Web Server:通过 web 界面查看和控制进程状态。
XML-RPC Interface:服务于 web UI 的同一个 HTTP 服务器提供一个 XML-RPC 接口,可以用来询问和控制管理程序及其运行的程序。
2、安装配置步骤
2.1 执行安装命令
yum install supervisor
![](https://img-blog.csdnimg.cn/img_convert/f4d6b878fa6120c2c947053fcc7b0b65.png)
2.2 回车继续
输入 y 回车继续
2.3 启动 supervisor 服务
mkdir /run/supervisor
supervisord -c /etc/supervisord.conf
2.4 查看配置文件,并修改配置文件
cat /etc/supervisord.conf
说明“:iles = supervisord.d/*.ini 表示会加载 supervisord.d 文件夹中的所有.ini 配置文件
修改 supervisord.conf 文件配置 web 页面访问配置内容
[inet_http_server] ; #开启web访问
;port=127.0.0.1:9001 ; # 表示内网访问
port=*:9001 ;# 表示开启外网访问,要注意安全性,不需要外网,不要启用
username=admin ; #访问服务用户名
password=admin ; #访问服务密码
注意:服务器要开放 9001 端口访问,才可以浏览器访问
cd /etc/supervisord.d #进入 ini 文件夹
2.5 创建守护 nginx 进程配置文件 nginx.ini
[program:nginx]
command=/usr/./sbin/nginx -g 'daemon off;' user=root
autostart=false
autorestart=true
stopasgroup=true
killasgroup=true
stdout_logfile=/etc/supervisord.d/nginx-out.log
stderr_logfile=/etc/supervisord.d/nginx-err.log
注意:要根据自己服务器安装的 nginx 路径为准来配置 nginx.ini 文件。
2.6 添加配置文件后重启
supervisorctl # 进入 supervisor控制台
admin #输入用户名
admin #输入密码
reload # 重启命令
2.7 停止掉自己服务器运行的 nginx,使用 Supervisor 进行管理
cd /usr/sbin
./nginx -s stop
访问地址: http://127.0.0.1:9001/
访问主页面如下
启动 nginx
nginx 如果可以正常访问表示安装成功了。
版权声明: 本文为 InfoQ 作者【天使不哭】的原创文章。
原文链接:【http://xie.infoq.cn/article/cdc601f3f9ba4a29f19fa1298】。文章转载请联系作者。
评论