运维:Centos8安装supervisor守护Nginx进程笔记

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

6423d5145786b7787c9475424405b487_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


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

729ac04222d44b4a1484ce766e74684c_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

2.2 回车继续

输入 y 回车继续

0c0a0c6770fb885dd2c1033451ffab24_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

2.3 启动supervisor服务

mkdir /run/supervisor

supervisord -c /etc/supervisord.conf

2.4 查看配置文件,并修改配置文件

cat /etc/supervisord.conf

c284c8fd5f65196506063af8d5ab4033_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

说明“: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   # 重启命令

1fefaf6567e679d529a22eff61a9f796_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

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

cd /usr/sbin

./nginx -s stop

访问地址:  http://127.0.0.1:9001/

访问主页面如下

81ae3fde75ae084e607c3f8ad4df4fdc_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

启动nginx

fca631fd2350fe9964a5aab49acd534b_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

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

相关文章
|
Prometheus 监控 Cloud Native
使用supervisor守护Prometheus进程
使用supervisor守护Prometheus进程
268 0
|
9月前
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
890 87
Linux源码阅读笔记10-进程NICE案例分析2
Linux源码阅读笔记10-进程NICE案例分析2
Linux源码阅读笔记09-进程NICE案例分析1
Linux源码阅读笔记09-进程NICE案例分析1
|
11月前
|
弹性计算 运维 监控
基于进程热点分析与系统资源优化的智能运维实践
智能服务器管理平台提供直观的可视化界面,助力高效操作系统管理。核心功能包括运维监控、智能助手和扩展插件管理,支持系统健康监控、故障诊断等,确保集群稳定运行。首次使用需激活服务并安装管控组件。平台还提供进程热点追踪、性能观测与优化建议,帮助开发人员快速识别和解决性能瓶颈。定期分析和多维度监控可提前预警潜在问题,保障系统长期稳定运行。
485 17
|
运维 监控 Ubuntu
【运维】如何在Ubuntu中设置一个内存守护进程来确保内存不会溢出
通过设置内存守护进程,可以有效监控和管理系统内存使用情况,防止内存溢出带来的系统崩溃和服务中断。本文介绍了如何在Ubuntu中编写和配置内存守护脚本,并将其设置为systemd服务。通过这种方式,可以在内存使用超过设定阈值时自动采取措施,确保系统稳定运行。
527 4
|
运维 算法 调度
深入理解操作系统:进程调度与优先级自动化运维:使用Ansible实现服务器集群管理
【8月更文挑战第27天】在操作系统的众多奥秘中,进程调度无疑是一个既简单又复杂的主题。它就像是交响乐团中的指挥,协调着每一个音符,确保乐曲和谐而有序地进行。本文将带领读者走进进程调度的世界,探索其背后的原理和实现,同时通过代码示例揭示其精妙之处。让我们一起揭开进程调度的神秘面纱,理解它在操作系统中的重要性。
Linux源码阅读笔记13-进程通信组件中
Linux源码阅读笔记13-进程通信组件中
|
消息中间件 安全 Java
Linux源码阅读笔记13-进程通信组件上
Linux源码阅读笔记13-进程通信组件上
|
Linux 调度
Linux源码阅读笔记05-进程优先级与调度策略-实战分析
Linux源码阅读笔记05-进程优先级与调度策略-实战分析