supervisor开机自动启动脚本+redis+MySQL+tomcat+nginx进程自动重启配置

 

[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.  
原文地址:https://www.cnblogs.com/gaoyuechen/p/10524638.html