Supervisor 进程守护工具
说明
公司Linux服务器无法连接外网,只能下载安装包上传到服务器进行离线安装
- Python版本: Python-2.7.5
- Supervisor版本: supervisor-3.1.3
- setuptools版本: setuptools-2.0
- meld3版本: meld3-1.0.2
Supervisor简介
Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。
Supervisor安装
- 离线安装Python
-- 解压安装包 tar -zxvf Python-2.7.5.tgz -- 进入解压后的目录 cd Python-2.7.5 -- 安装python2.7.5到指定目录 ./configure –prefix=/usr/lib/python2.7/ make make install -- 建立软连接 ln -s /usr/lib/python2.7/bin/python /bin/python
- 离线安装setuptools-2.0
tar -xzvf setuptools-2.0.tar.gz cd setuptools-2.0 python setup.py install
- 离线安装meld3-1.0.2
tar zxvf meld3-1.0.2.tar.gz cd meld3-1.0.2 python setup.py install
- 离线安装supervisor3.1.3
tar -zxvf supervisor-3.1.3.tar.gz cd supervisor-3.1.3 python setup.py install
Supervisor配置
- 生成Supervisor配置文件
echo_supervisord_conf > /etc/supervisord.conf
- 启动Supervisor
supervisord -c /etc/supervisord.conf
- 验证Supervisor是否启动
ps aux | grep supervisord
- 配置Supervisor应用守护
-- 在etc目录下创建应用守护文件存放目录和配置文件 mkdir supervisor cd supervisor mkdir conf.d cd conf.d -- 配置守护进程 vi task.conf [program:csxsettlement-framework-eureka]; 应用名称 user=root; 使用root用户执行启动命令 command=java -Xms256m -Xmx512m -jar /sxapp/sxappopt/csxs-settlement/framework/eureka/csxsettlement-framework-eureka.jar directory=/sxapp/sxappopt/csxs-settlement/framework/eureka; jar包所在目录 autostart = false; 是否自动启动 autorestart = false; 是否自动重启 startsecs = 5 startretries = 3 redirect_stderr = true stdout_logfile_maxbytes = 10MB stdout_logfile_backups = 20 stdout_logfile =/sxapp/sxappopt/csxs-settlement/framework/eureka/stdout.log; 日志目录和日志文件名称
- 修改supervisord.conf文件
-- 打开inet_http_server,去掉前面的';'号 [inet_http_server] ; inet (TCP) server disabled by default port=127.0.0.1:9001 ; (ip_address:port specifier, *:port for all iface) username=user ; (default is no username (open server)) password=123 ; (default is no password (open server)) -- 引入配置的守护进程 [include] files = /etc/supervisor/conf.d/*.conf
注意:
修改 supervisord.conf 配置文件后,要执行supervisord -c /etc/supervisord.conf
重启supervisor
Supervisor管理守护进程
- 方式1:通过Supervisor后管页面进行管理
账号密码配置在supervisord.conf文件中
通过Supervisor管理页面可以对守护进程执行启动、停止、重启、查看日志等操作
- 方式2:在SSH控制台通过命令进行管理
常用的相关管理命令
supervisorctl restart <application name> ;重启指定应用 supervisorctl stop <application name> ;停止指定应用 supervisorctl start <application name> ;启动指定应用 supervisorctl restart all ;重启所有应用 supervisorctl stop all ;停止所有应用 supervisorctl start all ;启动所有应用
版本记录
序号 | 修改日期 | 调整方式 | 调整内容 | |
---|---|---|---|---|
1 | 2019-10-25 | 新增 | Supervisor离线安装、基础操作 | |
2 |
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
爬了各大搜索引擎,2019年Java面试题(集合+并发+调优+微服务)
Java集合22题 ArrayList 和 Vector 的区别。 说说 ArrayList,Vector, LinkedList 的存储性能和特性。 快速失败 (fail-fast) 和安全失败 (fail-safe) 的区别是什么? hashmap 的数据结构。 HashMap 的工作原理是什么? Hashmap 什么时候进行扩容呢? List、Map、Set 三个接口,存取元素时,各有什么特点? Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用 == 还是 equals()? 它们有何区别? 两个对象值相同 (x.equals(y) == true),但却可有不同的 hash code,这句话对不对? heap 和 stack 有什么区别。 Java 集合类框架的基本接口有哪些? HashSet 和 TreeSet 有什么区别? HashSet 的底层实现是什么? LinkedHashMap 的实现原理? 为什么集合类没有实现 Cloneable 和 Serializable 接口? 什么是迭代器 (Iterator)? Iterator 和 ListIter...
- 下一篇
总结了11条,我对Python 装饰器的理解
对于每一个学习 Python 的同学,想必对 @ 符号一定不陌生了,正如你所知, @ 符号是装饰器的语法糖,@符号后面的函数就是我们本文的主角:装饰器。 装饰器放在一个函数开始定义的地方,它就像一顶帽子一样戴在这个函数的头上。和这个函数绑定在一起。在我们调用这个函数的时候,第一件事并不是执行这个函数,而是将这个函数做为参数传入它头顶上这顶帽子,这顶帽子我们称之为 装饰器 。 曾经我在刚转行做程序员时的一次的面试中,被面试官问过这样的两个问题: 1、你都用过装饰器实现过什么样的功能? 2、如何写一个可以传参的装饰器? 对于当时实战经验非常有限的我,第一个问题只能回答一些非常简单的用法,而第二个问题却没能回答上来。 当时带着这两个问题,我就开始系统的学习装饰器的所有内容。这些一直整理在自己的博客中,今天对其进行了大量的补充和勘误,发表在这里分享给大家。希望对刚入门以及进阶的朋友可以提供一些参考。01. Hello,装饰器 装饰器的使用方法很固定 先定义一个装饰器(帽子) 再定义你的业务函数或者类(人) 最后把这装饰器(帽子)扣在这个函数(人)头上 就像下面这样子 def decorator...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker快速安装Oracle11G,搭建oracle11g学习环境