首页 > Web开发 > 详细

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

时间:2015-11-18 18:05:57      阅读:307      评论:0      收藏:0      [点我收藏+]

利用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进程会自动启动)



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

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

原文:http://8789878.blog.51cto.com/8779878/1714364

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!