利用forever确保nodejs在后台运行,不会down掉

利用forever确保nodejs在后台运行,不会down掉


  //配置好yum源

# yum -y install npm


  //-g参数将forever按照到全局环境下

# npm install forever -g

# mkdir /nodejs/log


  //添加forever服务启动脚本

# vi /etc/init.d/forever


#!/bin/bash

### BEGIN INIT INFO

# Provides:          xiyoulib

# Required-Start:    $all

# Required-Stop:     $all

# Default-Start:     2 3 4 5

# Default-Stop:      0 1 6

# Short-Description: Start daemon at boot time

# Description:       Enable service provided by daemon.

### END INIT INFO

# chkconfig: 345 88 08

# description: Forever for Node.js


DEAMON=/nodejs/app.js  

LOG=/nodejs/log/log 

PID=/nodejs/pid  


export PATH=$PATH:/usr/bin 

export NODE_PATH=$NODE_PATH:/usr/lib/node_modules  


node=node

forever=forever


case "$1" in

    start)

        $forever start -l $LOG --pidFile $PID -a $DEAMON

        ;;

    stop)

        $forever stop --pidFile $PID $DEAMON

        ;;

    stopall)

        $forever stopall --pidFile $PID

        ;;

    restartall)

        $forever restartall --pidFile $PID

        ;;

    reload|restart)

        $forever restart -l $LOG --pidFile $PID -a $DEAMON

        ;;

    list)

        $forever list

        ;;

    *)

        echo "Usage: /etc.init.d/node {start|stop|restart|reload|stopall|restartall|list}"

        exit 1

        ;;

esac


#chmod 777 /etc/init.d/forever


  //简单的启动  

# service forever start

# chkconfig forever on

# forever start /nodejs/app.js

         (可选)

      1、指定forever信息输出文件,当然,默认它会放到~/.forever/forever.log  

        forever start -l forever.log app.js  

  

      2、指定app.js中的日志信息和错误日志输出文件,-o 就是console.log输出的信息,-e 就是console.error输出的信息  

        forever start -o out.log -e err.log /nodejs/app.js  

  

      3、追加日志,forever默认是不能覆盖上次的启动日志,所以如果第二次启动不加-a,则会不让运行  

        forever start -l forever.log -a /nodejs/app.js  

  

      4、监听当前文件夹下的所有文件改动  

        forever start -w /nodejs/app.js  


# ps -ef | grep node

    可以看到同时启动了forever,nodejs

root  6512 1 12 17:01 ? 00:00:00 /usr/bin/node /usr/lib/node_modules/forever/bin/monitor /nodejs/index.js (forever)

root  6514 6512 27 17:01 ? 00:00:01 /usr/bin/node /nodejs/index.js  (nodejs)

root  6517  6098  0 17:01 pts/2    00:00:00 grep node


 //测试(杀掉nodejs进程)

# kill -9 6514

# ps -ef | grep node  (nodejs进程会自动启动)



本文出自 “流星宇” 博客,谢绝转载!

你可能感兴趣的:(不会down掉)