Node.JS进程在闲置一段时间后,会自动退出。产品环境对此有要求

1.持久化运

2.node进程在意外中断后,可以自己恢复

more

Node.js的forever模块可支持以上需求,实现的方法也简单,配置该服务并将其加入/etc/init.d。

安装forever

npm install forever -gd     #npm是node.js的包管理和分发工具,安装完node.js之后就

`

## 配置forever服务

`# vim /etc/init.d/forever

# Filename:/etc/init.d/foreve

#!/bin/bas

# chkconfig: 345 88 0

# description: Forever for Node.js

DEAMON=/home/www/XiaoLingNodejs/xiaoling-share.j

LOG= /home/www/XiaoLingNodejs/logs/forever.lo

PID=/home/www/XiaoLingNodejs/forever.pid

export PATH=$PATH:/usr/bi

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

node=nod

forever=forever

case "$1" i

    start

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

        ;

    stop

        $forever stop --pidFile $PID $DEAMO

        ;

    stopall

        $forever stopall --pidFile $PI

        ;

    restartall

        $forever restartall --pidFile $PI

        ;

    reload|restart

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

        ;

    list

        $forever lis

        ;

    *

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

        exit 

        ;

esa

`

## 设定forever自启动

`# chmod 755 /etc/init.d/foreve

# chkconfig --add foreve

# chkconfig forever o

# service forever star

`

## 实现效果

执行成功后,forever将派生node进程,同时启动监视进程,在node进程中断后,即刻重新派生新的node进程。

`[qipo@iZ280pgx3vuZ ~]$ ps -ef |grep nod

root      1278     1 18 15:49 ?        00:00:00 /usr/bin/node /usr/lib/node_modules/forever/bin/monitor /home/www/XiaoLingNodejs/xiaoling-share.j

root      1280  1278 38 15:49 ?        00:00:00 /usr/bin/node /home/www/XiaoLingNodejs/xiaoling-share.j