[root@mongodb-host supervisord]# cat mongo.conf
[program:mongo]
command=/usr/local/mongodb/bin/mongod -f /mnt/server/mongo/mongodb.conf
startretries=2
directory=/usr/local/mongodb
user=root
numprocs=1
startsecs=0
autorestart=true

 

supervisor开机自动重启脚本

  1.  
    #! /bin/sh
  2.  
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
  3.  
    PROGNAME=supervisord
  4.  
    DAEMON=/usr/bin/$PROGNAME
  5.  
    CONFIG=/etc/$PROGNAME.conf
  6.  
    PIDFILE=/tmp/$PROGNAME.pid
  7.  
    DESC="supervisord daemon"
  8.  
    SCRIPTNAME=/etc/init.d/$PROGNAME
  9.  
     
  10.  
    # Gracefully exit if the package has been removed.
  11.  
    test -x $DAEMON || exit 0
  12.  
     
  13.  
    start()
  14.  
    {
  15.  
    echo -n "Starting $DESC: $PROGNAME"
  16.  
    $DAEMON -c $CONFIG
  17.  
    echo "..."
  18.  
    }
  19.  
     
  20.  
    stop()
  21.  
    {
  22.  
    echo -n "Stopping $DESC: $PROGNAME"
  23.  
    supervisor_pid=$(cat $PIDFILE)
  24.  
    kill -15 $supervisor_pid
  25.  
    echo "..."
  26.  
    }
  27.  
     
  28.  
    status()
  29.  
    {
  30.  
    ps -ef|grep supervisord
  31.  
    }
  32.  
     
  33.  
    case "$1" in
  34.  
    start)
  35.  
    start
  36.  
    ;;
  37.  
    stop)
  38.  
    stop
  39.  
    ;;
  40.  
    status)
  41.  
    status
  42.  
    ;;
  43.  
    restart)
  44.  
    stop
  45.  
    start
  46.  
    ;;
  47.  
    *)
  48.  
    echo "Usage: $SCRIPTNAME {start|stop|restart|status}" >&2
  49.  
    exit 1
  50.  
    ;;
  51.  
    esac
  52.  
    exit 0

之后需要在开机系统文件里面配置开启启动命令(下面的命令就是往里面写内容,或者你可以自己去去手动添加)

[root@JD ~]# echo "/etc/inin.d/supervisord start" > /etc/rc.d/rc.sysinit

supervisor项目管理进程的配置文件(都是一些基础的配置,都是可以管理进程的,要想配置好一点的可以去上网找,写进文件里就行了)

需要注意的地方====》所有要管理的进程都不能开启后台模式,只能使用前台模式进行配置;使用后台模式会出现一直重新开启新进程。

mysql配置文件(要注意command,这里就是要执行这个命令来开启的进程,自己可以找找自己的进程启动的命令)

  1.  
    [program:mysql]
  2.  
    command=/usr/local/tools/mysql/bin/mysqld --basedir=/usr/local/tools/mysql --datadir=/usr/local/tools/data/mysql --plugin-dir=/usr/local/tools/mysql/lib/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/usr/local/tools/data/mysql/JD.jcloud.local.pid --socket=/usr/local/tools/data/mysql/mysql.sock
  3.  
    process_name=%(program_name)s
  4.  
    priority=1001
  5.  
    autostart=true
  6.  
    startretries=3
  7.  
    autorestart=true
  8.  
    user=root

redis配置文件(关闭redis的后台模式,也就是修改redis.conf中的daemon为no)

  1.  
    [program:redisd]
  2.  
    command=/usr/local/redis/bin/redis-server
  3.  
    process_name=%(program_name)s
  4.  
    priority=1001
  5.  
    autostart=true
  6.  
    startretries=3
  7.  
    autorestart=true
  8.  
    user=root
  9.  
     

nginx配置文件(也是要关闭后台模式,在执行的命令后面添加-g "daemon off;")

  1.  
    [program:nginx]
  2.  
    command=/usr/local/tools/nginx/sbin/nginx -g 'daemon off;'
  3.  
    process_name=%(program_name)s
  4.  
    priority=1000
  5.  
    autostart=true
  6.  
    startretries=3
  7.  
    autorestart=true
  8.  
    user=root

tomcat配置文件(一样关闭后台模式,使用 catalina.sh run)

  1.  
    [program:tomcat1]
  2.  
    command=/usr/local/tools/tomcat1/bin/catalina.sh run
  3.  
    process_name=%(program_name)s
  4.  
    environment=JAVA_HOME="/usr/local/tools/jdk1.7.0_71/",JAVA_BIN="/usr/local/tools/jdk1.7.0_71/bin"
  5.  
    priority=1000
  6.  
    autostart=true
  7.  
    startretries=3
  8.  
    autorestart=true
  9.  
    user=root
  10.  

supervisor开机自动启动脚本+redis+MySQL+tomcat+nginx进程自动重启配置的更多相关文章

  1. linux下添加自动启动项,linux 开机自动启动脚本方法

    #service servicename status是当前状态#chkconfig --list servicename是查看启动状态,也就是是否开机自动启动 首先写好脚本,如 mysql,把它放到 ...

  2. linux 开机自动启动脚本方法

    通过现场对这次天津iptv demo项目的调测.对iptv这套系统有了更好的认识和理解.由于iptv本身需要安装许多服务.而现场实施中有没有把这些需要启动服务的脚本加入到开 机自动运行中.如果服务器重 ...

  3. php-fpm开机自动启动脚本其实源码包里边就有

    网上有各种版本的php-fpm开机自动启动脚本, 其实你编译后源目录已经生成自动脚本.不用做任何修改即用.cp {php-5.5.x-source-dir}/sapi/fpm/init.d.php-f ...

  4. 【Linux】开机自动启动脚本

    Linux下(以RedHat为范本)添加开机开机自动启动脚本有两种方式; 本例系统:Linux(CentOS 7.2) 方法一 使用 /etc/rc.d/rc.local,自动启动脚本 #!/bin/ ...

  5. tomcat监控,自动重启shell脚本

    tomcat监控,自动重启shell脚本如下,取名 monitor_tomcat.sh: #!/bin/sh # func:自动监控tomcat脚本并且执行重启操作 # 获取tomcat进程ID(其中 ...

  6. 使用Keepalived实现Nginx的自动重启及双主热备高可用

    1.概述 之前我们使用Keepalived实现了Nginx服务的双机主备高可用,但是有几个问题没有解决,今天一起探讨一下. 1)在双机主备机制中,Keepalived服务如果宕了,会自动启用备机进行服 ...

  7. mysql安装简单教程(自动安装/配置安装)

    mysql安装简单教程(自动安装/配置安装) 1.1前言: 由于特殊原因,在最近2-3个月里mysql真是安装了无数遍,每次安装都要上网找教程,每个教程基本都不一样,因此还是自己写下来比较好,毕竟自己 ...

  8. Linux服务器Jboss运行环境搭建步骤和开机自动启动脚本编写运行

    Jboss运行环境:Linux+Jdk+Jboss+jsp系统 Jboss软件说明:类似于Tomcat,就是一个跑Jsp系统的环境,他的站点路径跟Tomcat类似,Tomcat存放站点文件到webap ...

  9. linux jdk+mysql+tomcat+nginx 项目部署步骤

    1.下载linux jdk1.7.0_79.tar.gz ; 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-dow ...

随机推荐

  1. Maltego更新到4.1.6

    Maltego更新到4.1.6   Maltego最近更新到4.1.6.由于Kali Linux软件源并没有提供此次更新包,用户需要进入Maltego进行手动更新.在起始页面中,双击状态栏右下角的黄色 ...

  2. react输入 撤销

    销毁阶段可以使用的函数:componentWillUnmount:在删除组件之前进行清理操作,比如计时器和事件监听器.因为这些函数都是开发者手动加上去的,react不知道,必须进行手动清理. 实例第一 ...

  3. angularJS常用的内置方法

    angular.lowercase(aaa); angular.uppercase(bbb); angular.isString(); angular.isNumber(); angular.isAr ...

  4. 20172302 《Java软件结构与数据结构》第四周学习总结

    2018年学习总结博客总目录:第一周 第二周 第三周 第四周 教材学习内容总结 第六章 列表 1.列表是对象的有序集合,在 List 界面中定义. List 接口表示集合框架中的列表.列表可以具有重复 ...

  5. Sql Server中sql语句自己主动换行

    怎么让sql server中的sql语句自己主动换行呢? 例如以下图: 工具--选项--全部语言 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamlhbm ...

  6. Android的Databinding-自定义生成类名字

    1. 在xml中,添加class的属性并设置为自定义名字<data class="com.example.CustomBinding"></data>2. ...

  7. 最小生成树 Prim Kruskal

    layout: post title: 最小生成树 Prim Kruskal date: 2017-04-29 tag: 数据结构和算法 --- 目录 TOC {:toc} 最小生成树Minimum ...

  8. 如何使用Cassandra来存储time-series类型的数据

       Cassandra非常适合存储时序类型的数据,本文我们将使用一个气象站的例子,该气象站每分钟需要存储一条温度数据. 一.方案1,每个设备占用一行      这个方案的思路就是给每个数据源创建一行 ...

  9. 职场之KPI

    当一个公司开始执行KPI考核的时候,任何人的工作性质就发生了变化,而处于底层的员工就惨了,因为一个公司的资源是有限的,一个人的精力也是有限的,当你和你上司负责不同的项目时,而当你的所谓产品经理负责两个 ...

  10. 微软BI 之SSIS 系列 - Lookup 组件的使用与它的几种缓存模式 - Full Cache, Partial Cache, NO Cache

    开篇介绍 先简单的演示一下使用 Lookup 组件实现一个简单示例 - 从数据源表 A 中导出数据到目标数据表 B,如果 A 数据在 B 中不存在就插入新数据到B,如果存在就更新B 和 A 表数据保持 ...