社区编辑申请
注册/登录
运维:Centos8安装Supervisor守护Nginx进程笔记
运维 系统运维
Supervisor是基于Python语言开发的一套的进程管理程序,它可以将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时支持自动重启。

今天给大家分享Centos8操作系统下如何安装supervisor进程管理程序并守护Nginx进程,希望对大家能有所帮助!

一、supervisor介绍

1、简介

Supervisor是基于Python语言开发的一套的进程管理程序,它可以将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时支持自动重启。

2、工作原理

它主要是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和预警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。

3、运行环境

supervisor可以运行在大多数类UNIX系统,不支持windows系统运行,Supervisor运行在python3版本3.4或更高版本以及python2版本2.7上工作。

4、supervisor 组成

supervisord:supervisor服务的主要管理器,负责管理我们配置的子进程,包括重启崩溃或异常退出的子进程,同时也响应来自客户端的请求。

supervisorctl:supervisord服务的客户端命令行。听过这个,我们可以获得由主进程控制的子进程的状态,停止和启动子进程,并获得主进程的运行列表。

Web Server:通过web界面查看和控制进程状态。

XML-RPC Interface:服务于web UI的同一个HTTP服务器提供一个XML-RPC接口,可以用来询问和控制管理程序及其运行的程序。

二、安装配置步骤

1、 执行安装命令

yum install supervisor :

图片

2、回车继续

输入 y 回车继续:

图片

3、启动supervisor服务

mkdir /run/supervisor
supervisord -c /etc/supervisord.conf

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文件夹。

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 文件。

6、添加配置文件后重启

supervisorctl # 进入 supervisor控制台
admin #输入用户名
admin #输入密码
reload # 重启命令

     图片

7、停止掉自己服务器运行的nginx,使用Supervisor 进行管理

cd /usr/sbin
./nginx -s stop
访问地址: http://127.0.0.1:9001/

访问主页面如下:

图片

启动nginx:

图片

nginx如果可以正常访问表示安装成功了。

责任编辑:姜华 来源: IT技术分享社区

同话题下的热门内容

Sentry日志监控系统基本介绍及部署使用

编辑推荐

六个人如何运维一万台服务器?Linux下如何使用minicom USB串口Linux中7个判断文件系统类型的方法从美团程序员的灾难,看美团外卖自动化运维体系建设如何限制SSH用户访问Linux中指定的目录
我收藏的内容
点赞
收藏

51CTO技术栈公众号