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实现按的数据源均分时间点幻灯片效果(已封装)
Dec 28 Javascript
javascript数字格式化通用类 accounting.js使用
Aug 24 Javascript
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
Aug 21 Javascript
在JavaScript中实现类的方式探讨
Aug 28 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
Jan 16 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
May 25 Javascript
Ext JS框架程序中阻止键盘触发回退或者刷新页面的代码分享
Jun 07 Javascript
Javascript中的数组常用方法解析
Jun 17 Javascript
vue2.0实现前端星星评分功能组件实例代码
Feb 12 Javascript
Node.js中,在cmd界面,进入退出Node.js运行环境的方法
May 12 Javascript
小程序ios音频播放没声音问题的解决
Jul 11 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
Aug 29 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
重料打造自己的“宝马”---第三代
2021/03/02 无线电
一个用于网络的工具函数库
2006/10/09 PHP
PHP容易忘记的知识点分享
2013/04/30 PHP
XAMPP安装与使用方法详细解析
2013/11/27 PHP
ThinkPHP中的系统常量和预定义常量集合
2014/07/01 PHP
javascript弹出层输入框(示例代码)
2013/12/11 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
JavaScript实现找出数组中最长的连续数字序列
2014/09/03 Javascript
js使用DOM设置单选按钮、复选框及下拉菜单的方法
2015/01/20 Javascript
jQuery实现伸展与合拢panel的方法
2015/04/30 Javascript
jquery trigger函数执行两次的解决方法
2016/02/29 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
2017/02/12 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
2017/03/06 Javascript
JScript实现表格的简单操作
2017/08/15 Javascript
微信小程序实现蒙版弹窗效果
2018/11/01 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
Python编程中的文件读写及相关的文件对象方法讲解
2016/01/19 Python
基于Python在MacOS上安装robotframework-ride
2018/12/28 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
2019/02/01 Python
Python 元组操作总结
2019/09/18 Python
django框架cookie和session用法实例详解
2019/12/10 Python
Django app配置多个数据库代码实例
2019/12/17 Python
如何定义TensorFlow输入节点
2020/01/23 Python
keras 权重保存和权重载入方式
2020/05/21 Python
python 装饰器的使用示例
2020/10/10 Python
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
Linux面试题LINUX系统类
2014/11/19 面试题
个人查摆剖析材料
2014/02/04 职场文书
企业贷款委托书格式
2014/09/12 职场文书
领导班子个人对照检查剖析材料
2014/09/29 职场文书
2014年节能降耗工作总结
2014/12/11 职场文书
2015年优质护理服务工作总结
2015/04/08 职场文书
加班费申请报告
2015/05/15 职场文书
Python学习之包与模块详解
2022/03/19 Python