Supervisor
http://www.jianshu.com/p/bf2b3f4dec73
http://www.jianshu.com/p/9abffc905645
http://blog.csdn.net/xyang81/article/details/51555473
http://www.restran.net/2015/10/04/supervisord-tutorial/
https://www.rddoc.com/doc/Supervisor/3.3.1/zh/running/
http://www.jianshu.com/p/2f032b52c84a

(1)
wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py
sudo python ez_setup.py --insecure
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9
tar -xf pip-9.0.1.tar.gz
cd pip-9.0.1
sudo python setup.py install
# ln -s /usr/local/python27/bin/pip /usr/bin/pip  这一步根据你的python版本号作调整,2.6不要调整
# ln -s /usr/local/bin/easy_install-2.7 /usr/bin/easy_install  #这个是因为我升级了python的版本。要是不做这一步的话,这里会报错提示easy_install command not found

sudo easy_install supervisor

su - root
可以通过运行echo_supervisord_conf程序生成supervisor的初始化配置文件,如下所示:
sudo mkdir /etc/supervisor
sudo mkdir /etc/supervisor/conf
sudo chown wwwad.wwwad /etc/supervisor/ -R
echo_supervisord_conf > /etc/supervisor/supervisord.conf

mkdir /data/logs/supervisor/

supervisor 启动java进程报错。因为我这里没有标注java的环境变量(他不到/etc/profile下面去找)
http://blog.csdn.net/sinat_21302587/article/details/76836283
在启动的时候会报各种各样的错误
1、这里我们一定要主要环境变量   environment=A="1", B="2" ;设置环境变量,这里可以保存运行程序需要的参数
2、是否需要切换到指定路径下执行
3、设置启动用户。test1上的console成功了
4、Supervisor只能管理非daemon的进程,也就是说Supervisor不能管理守护进程。否则提示Exited too quickly (process log may have details)异常。例子中的Tomcat默认是以守护进程启动的,所以我们改成了catalina.sh run,以前台进程的方式运行

supervisor-monitor
https://github.com/mlazarov/supervisord-monitor
http://www.mamicode.com/info-detail-1707312.html

[program:console]
environment=JAVA_HOME="/usr/java/latest"
directory=/data/java_web_app/console
user=wwwad
command=java -Xms512m -Xmx512m -Xmn188m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=60 -XX:CMSTriggerRatio=70 -Xloggc:/data/java_web_app/newsinfo/logs/gc_20171207_140935.log -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/java_web_app/newsinfo/tmp/heapdump_20171207_140935.hprof -XX:+PrintHeapAtGC -XX:+ParallelRefProcEnabled -XX:MaxTenuringThreshold=7 -XX:SurvivorRatio=4 -Djava.io.tmpdir=/data/java_web_app/newsinfo/tmp/ -Duser.dir=/data/java_web_app/newsinfo -DAPPID=test-console -Dfile.encoding=UTF-8 -jar start.jar jetty.port=23456 -DSTOP.PORT=23457 -DSTOP.KEY=news23456

supervisord -c /etc/supervisor/supervisord.conf

[program: test]
command=xxxxxxxx  ;如果有多条命令,可以写入shell脚本再在这里调用
directory=xxxxx        ;执行命令时切换到的目录
user=xxxx ;执行命令所用的linux用户身份
autorestart=true    ;是否自动重启
autostart=true ;启动supervisor时是否自行启动该程序
redirect_stderr=true    ;如果为true则将stderr发送到stdout相应的log文件中去
stdout_logfile=/path/to/logfile ;制定stdout的输出文件
stdout_logfile_maxbytes=10MB    ;限定logfile的大小, 默认为50M
stdout_logfile_backups=10 ;保存logfile的最大数目,如果操作这个数目则对最早的logfile进行覆盖,默认为10
environment=A="1", B="2" ;设置环境变量,这里可以保存运行程序需要的参数

这里记住,我们每添加一次program的时候,我们需要更新新的配置到supervisord
supervisorctl update

这里的supervisorctl reload的功能是重启所有的程序

启动某一个程序
supervisorctl start programe_name

一、添加好配置文件后

二、更新新的配置到supervisord    
[vb] view plain copy

supervisorctl update

三、重新启动配置中的所有程序
[vb] view plain copy

supervisorctl reload

四、启动某个进程(program_name=你配置中写的程序名称)
[vb] view plain copy

supervisorctl start program_name

五、查看正在守候的进程
[vb] view plain copy

supervisorctl

六、停止某一进程 (program_name=你配置中写的程序名称)
[vb] view plain copy

pervisorctl stop program_name

七、重启某一进程 (program_name=你配置中写的程序名称)
[vb] view plain copy

supervisorctl restart program_name

八、停止全部进程
[vb] view plain copy

supervisorctl stop all

注意:显示用stop停止掉的进程,用reload或者update都不会自动重启。

supervisor 完整安装步骤的更多相关文章

  1. Dreamweaver cs6中文版完整安装步骤:

    Dreamweaver cs6中文版完整安装步骤: http://www.cr173.com/soft/72633.html 1.首先我们需要下载Dreamweaver cs6官方中文原版安装程序,下 ...

  2. RabbitMq在CentOs7下的完整安装步骤,带你踩坑

    1.前言 因为公司项目中用的RabbitMq来做消息处理,自己以前没有接触过,所以想自学一下.然额,光安装就花了6.7个小时才搞定,中间还换过一个版本,综合国内外博客才最终将所有安装中遇到的问题解决掉 ...

  3. hadoop入门学习教程--DKHadoop完整安装步骤

    使用hadoop版本是DKH标准三节点发行版,DKHadoop版本的易用性比较好,环境部署要简单的多,参考此篇安装前请先下载DKHadoop版本,网盘链接:https://pan.baidu.com/ ...

  4. CentOS6.2下fastDFS的完整安装和配置步骤

    centos6.2系统下安装配置FastDFS步骤: 1:安装libevent(libevent-2.0.16-stable) ##卸载系统自带libevent rpm -qa|grep libeve ...

  5. 如何使用本地账户"完整"安装 SharePoint Server 2010+解决“New-SPConfigurationDatabase : 无法连接到 SharePoint_Config 的 SQL Server 的数据 库 master。此数据库可能不存在,或当前用户没有连接权限。”

    注:目前看到的解决本地账户完整安装SharePoint Server 2010的解决方案如下,但是,有但是的哦: 当我们选择了"完整"模式安装SharePointServer201 ...

  6. [转]phoneGap3.0安装步骤(以windows下的android环境为例):

    phoneGap3.0安装步骤(以windows下的android环境为例): 环境: WIN系统,JDK,Android,Eclipse,Ant,Git,PhoneGap3.x (Cordova) ...

  7. QualityCenter10+Oracle10.2.1.0.1+Win2003SP2企业版安装步骤

    HpQualityCenter10+Oracle10.2.1.0.1+Win2003SP2企业版安装步骤: 1.点击setup.exe,等待,知道出现以下界面,然后按“下一步” 2.出现如下界面,接受 ...

  8. Linux各个发行版本的介绍, 以及VirtualBox+CentOS的安装步骤

    Linux和Unix系统有哪些主要的发行版本 Unix: (非开源传统商业操作系统) IBM AIX, HP HP-UX, Sun Solaris,等 各家硬件厂商的发行版本, 往往是和自家的硬件设备 ...

  9. GemFire 入门篇2:GemFire 8.2 在CentOS & Mac OS X的安装步骤

    GemFire目前已经开源,开源项目的主页:http://geode.incubator.apache.org/,商业版本的主页:https://pivotal.io/big-data/pivotal ...

随机推荐

  1. windows安装python2.7后的注册(registry)问题

    [提要]win平台上,python2.7官网的安装包在安装后不会添加环境变量且不会把安装信息写入注册表. 把python和pip的安装路径添加到环境变量是做python开发必要的一步,而写入注册表的原 ...

  2. Android学习笔记八:用Broadcast Receiver跨进程(跨app)通信

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/7515194.html 在前面介绍四大组件的时候提到了可以对外部事件进行过滤的Broadcast Receive ...

  3. Java之所有对象的公用方法>8.Obey the general contract when overriding equals

    Overriding the equals method seems simple, but there are many ways to get it wrong, and consequences ...

  4. excel主题使文档更加具有专业化

    如上图所示,表格或图表有很多的配色方案. 1.每个主题,会有一套配色方案,而且这些配色方案相对来讲都是比较协调统一的, 2.页面布局----主题,选择好主题之后再套用配色方案

  5. python3 数据库查询

    #xiaodeng #python 3 #数据库查询 #第一种方法(fethall,返回所有行数据) import pymysql #connect链接服务器,注意和服务库编码一致 conn=pymy ...

  6. Linux 防火墙firewalld

    1.列出所有支持的 zone 和查看当前的默认 zone:[root@lxjtest ~]# systemctl start firewalld[root@lxjtest ~]# firewall-c ...

  7. springboot自定义jdbc操作库+基于注解切点AOP

    发布时间:2018-11-08   技术:springboot+aop   概述 springBoot集成了自定义的jdbc操作类及AOP,因为spring自带的JdbcTemplate在实际项目中并 ...

  8. 2014年辛星Javascript解读第三节

    经过第一节的入门和第二节的运算符.那么接下来我们就能够学习Javascript的函数了,当然了.无论大家之前学习的是什么编程语言.都会有函数的概念,假设大家学的是Pascal,还会有"过程& ...

  9. CocoaAsyncSocket UDP发送数据超过包大小限制(Message too long)

    最近在做iOS上,基于UDP传输音视频时遇到的一个问题,这边纪录一下: 由于考虑实时性比较高,所以采用了 CocoaAsyncSocket 的UDP框架来实现,将视频切割成一帧帧的图片发给服务端,不过 ...

  10. 使用 Chrome 开发者工具进行 JavaScript 问题定位与调试

    转自:https://www.ibm.com/developerworks/cn/web/1410_wangcy_chromejs/ 引言 Google Chrome 是由 Goole 公司开发的一款 ...