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 相关文章推荐
HTTP状态代码以及定义(解释)
Feb 02 Javascript
firefox浏览器不支持innerText的解决方法
Aug 07 Javascript
js克隆对象、数组的常用方法介绍
Sep 26 Javascript
js模仿hover的具体实现代码
Dec 30 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
Jun 20 Javascript
使用cluster 将自己的Node服务器扩展为多线程服务器
Nov 10 Javascript
jQuery插件Validation快速完成表单验证的方式
Jul 28 Javascript
深入探究node之Transform
Jul 20 Javascript
JavaScript设计模式之代理模式简单实例教程
Jul 03 Javascript
react+redux仿微信聊天界面
Jun 21 Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
Aug 05 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
Aug 26 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
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
apache mysql php 源码编译使用方法
2012/05/03 PHP
Laravel如何创建服务器提供者实例代码
2019/04/15 PHP
TP5框架简单登录功能实现方法示例
2019/10/31 PHP
Jquery Ajax.ashx 高效分页实现代码
2009/10/20 Javascript
Jquery选择器 $实现原理
2009/12/02 Javascript
javascript中数组中求最大值示例代码
2013/12/18 Javascript
js中indexof的用法详细解析
2013/12/24 Javascript
JavaScript中匿名、命名函数的性能测试
2014/09/04 Javascript
js实现格式化金额,字符,时间的方法
2015/02/26 Javascript
JS输出空格的简单实现方法
2016/09/08 Javascript
JavaScript中利用构造器函数模拟类的方法
2017/02/16 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
通过源码分析Vue的双向数据绑定详解
2017/09/24 Javascript
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
小程序实现左右来回滚动字幕效果
2018/12/28 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
Python和Java进行DES加密和解密的实例
2018/01/09 Python
Django中url的反向查询的方法
2018/03/14 Python
python使用参数对嵌套字典进行取值的方法
2019/04/26 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
django 数据库连接模块解析及简单长连接改造方法
2019/08/29 Python
python批量将excel内容进行翻译写入功能
2019/10/10 Python
Python创建数字列表的示例
2019/11/28 Python
Django之form组件自动校验数据实现
2020/01/14 Python
python实现人像动漫化的示例代码
2020/05/17 Python
图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
2016/01/20 HTML / CSS
Hello Molly美国:女性时尚在线
2019/08/26 全球购物
大学生收银员求职信分享
2014/01/02 职场文书
校庆活动策划方案
2014/06/05 职场文书
文明单位申报材料
2014/12/23 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
CSS3中Animation实现简单的手指点击动画的示例
2021/07/15 HTML / CSS
Python中time标准库的使用教程
2022/04/13 Python