node.js应用后台守护进程管理器Forever安装和使用实例


Posted in Javascript onJune 01, 2014

我们不可能直接通过node命令来管理远程站点,这样无法保证网站的可持续运行。我们用Forever来解决这个问题,它可以将NodeJS应用以后台守护进程的方式运行,我们还可以将NodeJS应用设成随系统启动而自动运行。

首先,安装Forever:

npm install forever -gd

这样Forever就安装好了,我们可以直接运行Forever命令:
forever --help
forever start app.js
forever stop app.js

上面命令先查看Forever帮助文件,然后运行app.js,然后停止app.js。我们要让Forever自动运行,先在/etc/init.d目录创建一个文件node,内容如下:
#!/bin/bash
#
# node      Start up node server daemon
#
# chkconfig: 345 85 15
# description: Forever for Node.js
#
PATH=/home/node/0.8.9/bin
DEAMON=/home/ftp/1520/weizt-20120918-tKx/weizt.com/app.js
LOG=/home/hosts_log
PID=/tmp/forever.pid
case "$1" in
    start)
        forever start -l $LOG/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.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/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.log --pidFile $PID -a $DEAMON
    list)
        forever list
    *)
        echo "Usage: /etc.init.d/node {start|stop|restart|reload|stopall|restartall|list}"
        exit 1
esac
exit 0

以上代码是我在本地虚拟机的配置,根据实际情况修改相关参数,主要是DEAMON的路径参数,赋予该文件可执行权限,并运行chkconfig添加自动运行:
chmod 755 /etc/init.d/node
chkconfig /etc/init.d/node on

reboot重启系统,通过浏览器进入网站可发现,该NodeJS已经可自动运行了,剩下的工作,就是好好研究NodeJS、Express和AngularJS,做一个真正属于自己的应用!
Javascript 相关文章推荐
javascript实现相同事件名称,不同命名空间的调用方法
Jun 26 Javascript
jQuery中slidedown与slideup方法用法示例
Sep 16 Javascript
Node.js如何使用Diffie-Hellman密钥交换算法详解
Sep 05 Javascript
基于vue开发的在线付费课程应用过程
Jan 25 Javascript
基于 D3.js 绘制动态进度条的实例详解
Feb 26 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
Jun 05 jQuery
基于jQuery使用Ajax动态执行模糊查询功能
Jul 05 jQuery
JS加密插件CryptoJS实现的Base64加密示例
Aug 16 Javascript
JS实现Cookie读、写、删除操作工具类示例
Aug 28 Javascript
Nginx设置为Node.js的前端服务器方法总结
Mar 27 Javascript
微信小程序前端自定义分享的实现方法
Jun 13 Javascript
如何使用原生Js实现随机点名详解
Jan 06 Javascript
node.js入门教程
Jun 01 #Javascript
什么是Node.js?Node.js详细介绍
Jun 01 #Javascript
基于iframe实现类似于ajax的页面无刷新
May 31 #Javascript
通过Jquery的Ajax方法读取将table转换为Json
May 31 #Javascript
jQuery移除元素自动解绑事件实现思路及代码
May 31 #Javascript
jQuery操作select下拉框的text值和value值的方法
May 31 #Javascript
js中的for如何实现foreach中的遍历
May 31 #Javascript
You might like
PHP获取指定日期是星期几的实现方法
2016/11/30 PHP
thinkPHP实现基于ajax的评论回复功能
2018/06/22 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
PHP array_reduce()函数的应用解析
2018/10/28 PHP
phpfpm的作用和用法
2019/10/10 PHP
javascript编程起步(第五课)
2007/02/27 Javascript
js获取或设置当前窗口url参数的小例子
2013/10/14 Javascript
js实现字符串的16进制编码不加密
2014/04/25 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
javascript动态创建链接的方法
2015/05/13 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
2016/09/06 Javascript
H5实现中奖记录逐行滚动切换效果
2017/03/13 Javascript
requireJS模块化实现返回顶部功能的方法详解
2017/10/16 Javascript
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
微信小程序页面间值传递的两种方法
2018/11/26 Javascript
详解javascript函数写法大全
2019/03/25 Javascript
element-ui上传一张图片后隐藏上传按钮功能
2019/05/22 Javascript
解决layer 动态加载select 失效的问题
2019/09/18 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
[57:50]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第二局
2016/03/05 DOTA
[05:53]敌法师的金色冠名ID"BurNIng",是传说,是荣耀
2020/07/11 DOTA
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
django反向解析URL和URL命名空间的方法
2018/06/05 Python
Python重新加载模块的实现方法
2018/10/16 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
Python面向对象魔法方法和单例模块代码实例
2020/03/25 Python
使用Python将语音转换为文本的方法
2020/08/10 Python
python3 re返回形式总结
2020/11/20 Python
css3进阶之less实现星空动画的示例代码
2019/09/10 HTML / CSS
会计学专业学生的求职信范文
2014/01/27 职场文书
《世界多美呀》教学反思
2014/03/02 职场文书
担保书格式
2015/01/20 职场文书
晚会开场白和结束语
2015/05/29 职场文书
JavaScript实现简单拖拽效果
2021/09/15 Javascript
漫画「请问您今天要来点兔子吗?」最新杂志彩页公开
2022/03/24 日漫