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 相关文章推荐
js编码、解码函数介绍及其使用示例
Sep 05 Javascript
js的image onload事件使用遇到的问题
Jul 15 Javascript
jQuery团购倒计时特效实现方法
May 07 Javascript
js实现表单检测及表单提示的方法
Aug 14 Javascript
jquery实现的3D旋转木马特效代码分享
Aug 25 Javascript
利用Node.js了解与测量HTTP所花费的时间详解
Sep 22 Javascript
详解RequireJs官方使用教程
Oct 31 Javascript
快速对接payjq的个人微信支付接口过程解析
Aug 15 Javascript
js实现图片上传即时显示效果
Sep 30 Javascript
jQuery擦除插件eraser使用方法详解
Jan 11 jQuery
浅谈VUE中演示v-for为什么要加key
Jan 16 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
Dec 30 jQuery
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
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
Symfony2学习笔记之模板用法详解
2016/03/17 PHP
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
解析Javascript中难以理解的11个问题
2013/12/09 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
2014/02/12 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
js中 javascript:void(0) 用法详解
2015/08/11 Javascript
详解jQuery中的empty、remove和detach
2016/04/11 Javascript
JS对象是否拥有某属性如何判断
2017/02/03 Javascript
BootStrap表单宽度设置方法
2017/03/10 Javascript
js学习总结之DOM2兼容处理重复问题的解决方法
2017/07/27 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
js实现手机web图片左右滑动效果
2017/12/29 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
layer插件select选中默认值的方法
2018/08/14 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
2018/08/27 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
javaScript实现一个队列的方法
2020/07/14 Javascript
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
解读Python中degrees()方法的使用
2015/05/18 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
2016/12/10 Python
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
Django将默认的SQLite更换为MySQL的实现
2019/11/18 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
物业管理毕业生的自我评价
2014/02/17 职场文书
合作协议书格式
2014/08/19 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
深度学习详解之初试机器学习
2021/04/14 Python
Python极值整数的边界探讨分析
2021/09/15 Python
什么是clearfix (一文搞清楚css清除浮动clearfix)
2023/05/21 HTML / CSS