参考来自:http://blog.haohtml.com/archives/15145

0 操作环境

1 supervisord的介绍

Supervisord是用Python实现的一款非常实用的进程管理工具。supervisord会帮你把管理的应用程序转成daemon程序,而且可以方便的通过命令开启、关闭、重启等操作,而且它管理的进程一旦崩溃会自动重启,这样就可以保证程序执行中断后的情况下有自我修复的功能。

2 supervisord的安装

2.1 执行sudo easy_install supervisor

注意:不是supervisord!没有d!

2.2 elkuser is not in the sudoers file. This incident will be reported

执行上条命令的时候,可能会报错误:elkuser is not in the sudoers file. This incident will be reported。原因是:用户xxx没有被加到sudo的配置文件里。

(1)visudo

切换到root用户或者用root用户登录,否则报无权限。执行:visudo。

(2)xxx ALL=(ALL) ALL

在打开的配置文件中,找到root ALL=(ALL) ALL,在下面添加一行:elkuser ALL=(ALL) ALL ,其中elkuser是要加入的用户名称。修改后退出保存,再回到elkuser,就能执行sudo easy_install supervisord命令了。

 

(3)sudo easy_install supervisor

从root用户切换回elkuser,执行sudo easy_install supervisor。

2.3 supervisord和supervisorctl

supervisord一共有两个类型的命令:supervisord和supervisorctl。安装完成后,可以在/user/bin路径下找到。

3 supervisord的配置

3.1 执行echo_supervisord_conf > /etc/supervisord.conf

supervisord默认的配置文件路径为/etc/supervisord.conf。生成/etc/supervisord.conf后,编辑此示例配置文件即可。

3.2 bash:/etc/supervisord.conf : Permission denied

当报这个错误的时候,可以先将配置文件生成在别处,然后再复制在/etc/supervisord.conf中。

执行完这两条语句后:

3.3 supervisord.conf

其他的详细配置略(都采用的默认配置),这里在后面增加配置了三个program,名字分别为elasticsearch,logstash,kibana。

4 supervisord的使用

4.1 /usr/bin/supervisord -c /etc/supervisord.conf

执行完此命令,就使得配置文件生效,所有配置在conf中的program都启动了。比如:查看elasticsearch,已经成功启动。并且需要通过supervisorctl的stop命令来关闭。而关闭此登录会话,或者ctrl+c,进程也继续在执行,实现了后台执行。

4.2 supervisord的一些常用命令

Supervisord安装完成后有两个可用的命令行supervisord 和 supervisorctl,命令使用解释如下:

 supervisord,初始启动Supervisord,启动、管理配置中设置的进程。

 supervisorctl stop programxxx,停止某一个进程(programxxx)
supervisorctl start programxxx,启动某个进程
supervisorctl restart programxxx,重启某个进程
supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
7 supervisorctl start all,开启全部进程。
supervisorctl reload,载入最新的配置文件,并按新的配置启动、管理所有进程。

示例:

5 遇到的问题

操作过程:

 supervisorctl start all
修改logstsh的配置文件
supervisorctl stop logstash
supervisorctl start logstash

但是却始终没有获取到最新的日志信息。

后来在bin目录下重启logstash才行。

即使执行supervisorctl reload ,update等,都不行。执行在bin目录下更新配置文件。这是为什么。

2017.7.21 linux下进程管理工具supervisord的安装与使用的更多相关文章

  1. Linux进程管理工具 Supervisord 的安装 及 入门教程

    Supervisor是一个进程管理工具,官方的说法: 用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了 ...

  2. Linux下批量管理工具pssh安装和使用

    Linux下批量管理工具pssh安装和使用 pssh工具包 安装:yum -y install pssh pssh:在多个主机上并行地运行命令 pscp:把文件并行地复制到多个主机上 prsync:通 ...

  3. Linux进程管理工具Supervisor的安装配置

    目录 Linux进程管理工具Supervisor的安装配置 简介 安装Python包管理工具 安装Supervisor 配置 配置文件参数说明 配置进程管理 启动supervisor 控制进程 交互终 ...

  4. 【转】Linux下XenServer管理工具安装

    转载文章 - Linux下XenServer管理工具安装 Xen-Server 6.5 虚拟机安装Linux系统 vmware安装ubuntu12.04嵌套安装xen server(实现嵌套虚拟化) ...

  5. Linux 进程管理工具 supervisord 安装及使用

    Supervisor是用Python实现的一款非常实用的进程管理工具 1.安装过程非常简单 安装python 安装meld3-0.6.8.tar.gz 安装supervisor-3.0a12.tar. ...

  6. Supervisor安装与配置(Linux/Unix进程管理工具)

    原文链接:http://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Pyth ...

  7. Supervisor(Linux/Unix进程管理工具)安装与配置

    参考链接:https://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Pyt ...

  8. linux 使用进程管理工具 supervisor

    1.supervisor是使用python进行开发的运行在linux服务器上的进程管理工具 老版本的supervisor需要运行在python2环境,如果需要使用supervisor管理python3 ...

  9. 进程管理工具-Supervisord 使用

    简介 Supervisor 是一个用 Python 写的进程管理工具,可以很方便的用来在 UNIX-like 系统(不支持 Windows)下启动.重启(自动重启程序).关闭进程(不仅仅是 Pytho ...

随机推荐

  1. winform中key读取修改

    根据key name的名称读取value-----读取使用ConfigurationManager.AppSettings读取容易没读取到根目录中的key public string GetXml(s ...

  2. 双系统Ubuntu 无 启用wifi选项

    安装好双系统进入ubuntu(14.04)后发现只能用有线连接,不能用wifi.网络连接里无启用wifi选项. 1.查询网卡型号,发现是BCM43132 命令:   lspci | grep -i n ...

  3. spring in action 学习笔记二:aop的理解

    一: aop的思想的来在哪里? 一个系统一般情况下由多个组件组成,而每一个组件除了干自己的本职工作以外,有时还会干一些杂活(如:日志(logging).事务管理(transaction manager ...

  4. 使用Asp.Net Identity 2.0 认证邮箱激活账号(附DEMO)

    注:本文系作者原创,但可随意转载.若有任何疑问或错误,欢迎与原作者交流,原文地址:http://www.cnblogs.com/lyosaki88/p/aspnet-itentity-ii-email ...

  5. java算法(一) 直接选择排序

    一.基本概念 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置(注:要把最大最小的元素和起始的元素交换), 然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾.以 ...

  6. 模拟Json格式传值请求与数据接收

    a.php代码: function http_post_json($url, $jsonStr) { $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, ...

  7. python面试经典315

    期待的是可以检验自己学习的成功:苦逼的是怎么又有东西没记住,但我们依然每天坚持一遍.一遍又一遍指导记住为止. 第一部分 Python基础篇(80题) 为什么学习Python? 通过什么途径学习的Pyt ...

  8. Html5学习进阶一 视频和音频

    HTML5 规定了一种通过 video 元素来包含视频的标准方法. 视频格式 当前,video 元素支持两种视频格式:   Internet Explorer Firefox 3.5 Opera 10 ...

  9. UVA 10803 Thunder Mountain

    纠结在这句话了If it is impossible to get from some town to some other town, print "Send Kurdy" in ...

  10. C++ emplace_back

    在C++开发过程中,我们经常会用STL的各种容器,比如vector,map,set等,这些容器极大的方便了我们的开发.在使用这些容器的过程中,我们会大量用到的操作就是插入操作,比如vector的pus ...