supervisorctl

linux 进程守护工具 supervisor 使用概述

痞子三分冷 提交于 2020-02-04 06:36:00
前言 以前跑代码,为了不被杀掉经常用 nohup + &,后来发现,系统认为该死的程序都得死,这就很郁闷,市面上有很多进程守护的工具,只是写的语言不同而已(例如pm2,用node语言写的),supervisor用python写的,以前支持py2,现在py3也支持,所以不用担心版本问题。我这里把一些常规的使用介绍一下,顺便说一下有任何问题查阅官网: supervisor官网 一. 安装 安装方式多种多样, 离线安装:(公司内网不和外网连通)需要提前下好安装包,用make和make install 编译安装,稍微复杂点,这里不多说,有需要就自己研究一下。 在线安装:因为supervisor是python写的,所以可以直接 pip install supervisor 进行安装;或者 yum install supervisor 进行安装;首推pip方式。 二.配置 supervisor的所有启动设置都只在一个配置文件中进行,这个配置文件是唯一且最重要的。 生成配置文件:运行 echo_supervisord_conf 命令重定向到一个文件 echo_supervisord_conf > /home/flask_pro/supervisor_config/supervisord.conf /home/flask_pro/ 这个目录是我自己建的一个flask项目的目录,

nginx+uWSGI+django+virtualenv+supervisor发布web服务器

做~自己de王妃 提交于 2020-01-25 16:04:20
wsgi 全称web server gateway interface,wsgi不是服务器,也不是python模块,只是一种协议,描述web server如何和web application通信的规则。运行在wsgi上的web框架有bottle,flask,django uwsgi 和wsgi一样是通信协议,是uWSGI服务器的单独协议,用于定义传输信息的类型 uWSGI 是一个web服务器,实现了WSGI协议,uwsgi协议。a nginx web服务器,更加安全,更好的处理处理静态资源,缓存功能,负载均衡,因此nginx的强劲性能,配合uWSGI服务器会更加安全,性能有保障。 django 高级的python web框架,用于快速开发,解决web开发的大部分麻烦,程序员可以更专注业务逻辑,无须重新造轮子 逻辑图 web服务器 传统的c/s架构,请求的过程是 客户端 > 服务器 服务器 > 客户端 服务器就是:1.接收请求 2.处理请求 3.返回响应 web框架层 HTTP的动态数据交给web框架,例如django遵循MTV模式处理请求。 HTTp协议使用url定位资源,urls.py将路由请求交给views视图处理,然后返回一个结果,完成一次请求。 web框架使用者只需要处理业务的逻辑即可。 如果将一次通信转化为“对话”的过程 Nginx:hello wsgi,我刚收到一个请求

Supervisor进程管理&开机自启

拜拜、爱过 提交于 2020-01-20 01:22:54
这几天在用supervisor管理爬虫和Flask, 每次都记不住命令,花点时间记录下。 supervisor 是一个进程管理工具,用来启动、停止、重启和监测进程。我用这个东西主要用来监测爬虫和Flask运行状况,当程序挂掉后,supervisor能够帮我重新拉起进程。 安装 安装就比较简单了,直接用Python的包管理器pip: sudo pip install supervisor 配置 先通过echo_supervisord_conf 命令生成配置文件,路径随你指定。 echo_supervisord_conf > /etc/supervisord.conf 查看配置文件,常用配置说明: ;supervisord.conf [unix_http_server] file=/tmp/supervisor.sock ; UNIX socket 文件,supervisorctl 会使用 ;chmod=0700 ; socket 文件的 mode,默认是 0700 ;chown=nobody:nogroup ; socket 文件的 owner,格式: uid:gid ;[inet_http_server] ; HTTP 服务器,提供 web 管理界面 ;port=127.0.0.1:9001 ; Web 管理后台运行的 IP 和端口,如果开放到公网,需要注意安全性

python supervisor使用

橙三吉。 提交于 2020-01-07 16:44:51
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Supervisor 是基于 Python 的进程管理工具,只能运行在 Unix-Like 的系统上,也就是无法运行在 Windows 上。Supervisor 官方版目前只能运行在 Python 2.4 以上版本,但是还无法运行在 Python 3 上,不过已经有一个 Python 3 的移植版 supervisor-py3k 。 什么情况下我们需要进程管理呢?就是执行一些需要以守护进程方式执行的程序,比如一个后台任务,我最常用的是用来启动和管理基于 Tornado 写的 Web 程序。 除此之外,Supervisor 还能很友好的管理程序在命令行上输出的日志,可以将日志重定向到自定义的日志文件中,还能按文件大小对日志进行分割。 Supervisor 有两个主要的组成部分: supervisord ,运行 Supervisor 时会启动一个进程 supervisord,它负责启动所管理的进程,并将所管理的进程作为自己的子进程来启动,而且可以在所管理的进程出现崩溃时自动重启。 supervisorctl ,是命令行管理工具,可以用来执行 stop、start、restart 等命令,来对这些子进程进行管理。 安装 sudo pip install supervisor 创建配置文件 echo

CentOS7部署NET Core应用程序

故事扮演 提交于 2020-01-02 05:03:06
1 将发布好的.net core 程序ftp上传到/home/netcore 目录 , 执行下面的命令 dotnet WebMVC.dll    2.测试程序是否运行正常 curl http://localhost:5000    3.配置nginx /etc/nginx/nginx.conf user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on

Supervisor安装与配置

南笙酒味 提交于 2019-12-26 17:08:02
Supervisor( http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制 。 因为Supervisor是Python开发的,安装前先检查一下系统否安装了Python2.4以上版本。下面以CentOS7,Python2.7版本环境下,介绍Supervisor的安装与配置步聚: 1、安装Python包管理工具(easy_install) easy_install是setuptools包里带的一个命令,使用easy_install实际上是在调用setuptools来完成安装模块的工作,所以安装setuptools即可。 wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python 2、安装supervisor easy_install supervisor supervisor安装完成后会生成三个执行程序

Linux-安装-Supervisor

戏子无情 提交于 2019-12-12 08:48:36
20191115 作者:陈文小超 准备工作 安装依赖 # 安装Supervisor yum install python-setuptools easy_install supervisor 生成配置文件 mkdir /etc/supervisor mkdir /etc/supervisor/supervisord.conf.d echo_supervisord_conf > /etc/supervisor/supervisord.conf 修改配置文件 vim /etc/supervisor/supervisord.conf # include区段修改为(最后一行,注意include前面的分好也要放开) [include] files = /etc/supervisor/supervisord.conf.d/*.conf 编写进程文件 # 在/etc/supervisor/supervisord.conf.d创建 vi /etc/supervisor/supervisord.conf.d/laravel-worker # 添加内容 [program:laravel-worker] # 和文件名保持一致 process_name=%(program_name)s_%(process_num)02d command=/usr/local/php/bin/php /home/app

Supervisor安装与配置

谁都会走 提交于 2019-12-06 16:40:46
介绍 总览 Supervisor是一个客户端/服务器系统,允许其用户控制类似UNIX的操作系统上的许多进程。 它受到以下方面的启发: 方便 需要 为每个单个流程实例 编写 rc.d 脚本 通常很不方便 。 rc.d 脚本是进程初始化/自动启动/管理的一个很好的最低公分母形式,但是编写和维护它们可能很麻烦。 此外, rc.d 脚本无法自动重新启动崩溃的进程,并且许多程序在崩溃时无法正确地自行重启。 Supervisord将进程作为其子进程启动,并且可以配置为在崩溃时自动重新启动它们。 也可以将其自动配置为自行调用启动进程。 准确性 在UNIX上,通常很难获得准确的启动/关闭状态信息。 Pidfile经常说谎。 Supervisord将流程作为子流程启动,因此它始终了解其子代的真实上/下状态,并且可以方便地查询该数据。 代表团 需要控制流程状态的用户通常只需要这样做。 他们不希望或不需要完全的Shell访问运行这些进程的计算机。 侦听“低” TCP端口的进程通常需要以root用户身份启动和重新启动(UNIX功能不全)。 通常情况下,允许“正常”人员停止或重新启动这样的过程是完全可以的,但是为他们提供shell访问通常是不切实际的,并且为他们提供root访问或sudo访问通常是不可能的。 (正确)也很难向他们解释为什么存在此问题。 如果超级用户以root用户身份启动,则可以允许“普通

使用Supervisor管理Redis进程

自作多情 提交于 2019-12-05 13:20:33
使用Supervisor管理Redis进程 环境:MAC OS Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动、重启、关闭进程(不仅仅是 Python 进程)。除了对单个进程的控制,还可以同时启动、关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,此时可以用 supervisor 同时启动所有应用程序而不是一个一个地敲命令启动。 安装过程, 安装pip: ➜ ~ sudo easy_install pip 然后安装supervisor ➜ ~ sudo pip install supervisor 安装完成。 supervisord配置 Supervisor 相当强大,提供了很丰富的功能,不过我们可能只需要用到其中一小部分。安装完成之后,可以编写配置文件,来满足自己的需求。为了方便,我们把配置分成两部分:supervisord(supervisor 是一个 C/S 模型的程序,这是 server 端,对应的有 client 端:supervisorctl)和应用程序(即我们要管理的程序)。 首先来看 supervisord 的配置文件。安装完 supervisor 之后,可以运行echo_supervisord_conf 命令输出默认的配置项,也可以重定向到一个配置文件里: ➜ ~

centos7.6使用 supervisor 对filebeat7.3.1进程进行管理

流过昼夜 提交于 2019-12-05 02:45:32
centos7.6使用 supervisor 对filebeat7.3.1进程进行管理 Supervisor 是一个 Python 开发的 client/server 系统,可以管理和监控类 UNIX 操作系统上面的进程。它可以同时启动、关闭多个进程,使用起来比较方便。 组成部分 supervisor 主要由两部分组成: supervisord(server 部分):主要负责管理子进程,响应客户端命令以及日志的输出等; supervisorctl(client 部分):命令行客户端,用户可以通过它与不同的 supervisord 进程联系,获取子进程的状态等。 1.安装pip和supervisor yum install -y python-pip pip install supervisor 2.创建配置目录: mkdir -p /etc/supervisor/conf.d 安装完成之后,可以运行 echo_supervisord_conf 生成默认的配置文件: echo_supervisord_conf > /etc/supervisor/supervisord.conf 修改配置 编辑 /etc/supervisor/supervisord.conf 里 include 部分 [include] files = /etc/supervisord/conf.d/*.conf #