node.js应用后台守护进程管理器Forever安装和使用实例
发布时间:2024-05-03 15:36:48
标签:node.js,Forever
我们不可能直接通过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,做一个真正属于自己的应用!


猜你喜欢
- python正则表达式 匹配反斜杠正则 需要把原始字符串不被转义的条件下传递给正则模块,正则再去转义。 r表示r后面的字符串为原始字符串,防
- 本文实例为大家分享了tensorflow使用CNN分析mnist手写体数字数据集,供大家参考,具体内容如下import tensorflow
- 为了构造透明的叠加层,需要准备两个图像:(1)原始图片;(2)要 “叠加”在第一个图像上的图像(包含某种级别的Alpha透明度)。透明叠加层
- 本文实例讲述了Python使用Pickle库实现读写序列操作。分享给大家供大家参考,具体如下:简介pickle模块实现了用于对Python对
- Yii2 框架 之所以称之为高效快速开发的一款框架,是因为有一个神奇的工具Gii用过Yii1框架的Coder都知道,Gii可以为你快速生成代
- 之前版本的代理中,可以使用fiddler进行HTTP包的代理,但是代理HTTPS包时,执行错误 self._sslobj.do_
- 贪心算法贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意
- 情人节刚过去几天,但是这和我们程序员有什么关系呢,对我们来说,万物皆对象。但是啊,小编为了讨得仰慕已久的女神的欢心(真香),便用python
- 目前广泛使用的图像分类数据集之一是MNIST数据集。如今,MNIST数据集更像是一个健全的检查,而不是一个基准。为了提高难度,我们将在接下来
- 1、MSSQL2000 SELECT 表名 = case when a.colorder=1 then d.name else '&
- 为了实现Nao机器人与电脑端的TCP通信,于是研究了一下Python实现TCP通信,在网上也看到了很多例子,但大多都是在一台机器上验证。在两
- 啥都不说了,直接奉献原代码 代码如下:'==========注意==================================
- 设置某个字段的值自增由于某个业务需要手动操作数据库,并设置主键ID不重复。做个记录set @rownum=0;select a.id, @r
- 我们在编写 Javascript 时,Debug 是很痛苦的过程,而且有些语法问题虽使用 Firebug 能很快定位,但毕竟影响效率。这里有
- 最简单的关闭一个窗口的方法是点击标题栏上的 x 标志。但是,在下面的例子中,我们将展示如何通过编程来控制关闭窗口。我们将使用PyQt5的信号
- 在读取https://github.com/Embedding/Chinese-Word-Vectors中的中文词向量时,选择了一个有3G多
- 步骤一:申请百度地图密钥;JavaScript API v1.4以及以前的版本无序申请秘钥(ak),自v1.5版本开始需要先申请秘钥(ak)
- str()将参数转换为字符串类型a = 26print('我有'+str(a)+'个苹果')输出:我有26个
- 一 前言前几天一个开发同事咨询我,update 更新字段为相同的值是否会记录binlog,我回复说不会。其实 严格的说这个答案是不准确的,说
- 重载:同一个类中,函数名一样,返回值或者参数类型,个数不一样的叫做重载。 覆盖:同名函数,同返回值类型,同参数的叫做覆盖。指的是子类对父类中