迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

Nodejs修改代码自动重新启动

作者:迹忆 最近更新:2022/12/04 浏览次数:

NodeJs修改代码以后可以自动重新启动,省去了我们再ctr+c然后用node 的麻烦。但就在时间上来说,如果是项目已经上线正常运行,修改的地方不多,那我们自己手动还没什么问题。但是如果是在开发的过程中,每次写完代码都需要手动去停止服务然后再开启服务,那真的是相当的麻烦了。

更多关于NodeJs内容,可以参考我们的 NodeJs教程

作为一个程序员,对这种重复的事情会感到很烦的。

现在在这里我向大家介绍几种使Nodejs自动重新启动的方法,省去大家手动重启的麻烦。

forever实现NodeJs自动重启

forever是一种客户端的工具,可以使用其使NodeJs服务在后台运行。同样,也可以检测文件的改变然后自动重启NodeJs服务。

forever安装方式如下

$ npm install forever –g

运行上述命令,等待forever安装完成,然后我们就可以使用forever了。

$ forever start app.js

上面的命令就可以开启NodeJs服务了,此时NodeJs服务已经在后端运行。是不是很简单。当然,上面的命令是最基本的开启NodeJs服务。但是仅仅用运行上述命令我们是没有办法查看打印信息的。因此,如果我们需要查看打印信息可以将这些信息输出到日志文件中。其命令如下

$ forever –l /log/forever.log –o /log/out.log –e /log/error.log app.js

这样,我们再使用console.log()等打印的信息就可以在日志文件中查看到了。

最后就是实现修改NodeJs代码以后服务自动重启,要使用-w选项。

$ forever –l /log/forever.log –o /log/out.log –e /log/error.log –w app.js

这样,我们就可以达到最终的目的了。

pm2实现NodeJs自动重启

同样,和 forever 一样,pm2也是一种客户端的工具,也可以使NodeJs服务在后台运行。并且可以检测文件的改变然后自动重启NodeJs服务。

pm2安装方式如下

$ npm install pm2@latest –g

运行上述命令以后,等待pm2安装完成。

$ pm2 start app.js

开启NodeJs服务。

$ pm2 start –l /log/pm2.log –o /log/out.log –e /log/error.log app.js

将NodeJs的日志和打印的信息以及错误信息写进日志文件中,并开启NodeJs服务。

$ pm2 start –l /log/pm2.log –o /log/out.log –e /log/error.log app.js –watch

上述命令可以检测文件的改变,然后重新启动NodeJs服务。

使用是不是很简单,当然pm2的功能远不止于此。具体可以参考pm2详细教程

下面介绍一种非常规的方式。这种方式是根据自己的开发环境自己写的。有什么不足的地方还请大家多多指正。

通过svn实现NodeJs的自动重启

在实际的开发中,我本人使用的是linux服务器。我每次在本地写完NodeJs代码以后,通过Svn部署到服务器上。当然,这需要借助svn的钩子post-commit。也就是通过这个文件来实现NodeJs重启。

对于svn同步代码到服务器上,有不清楚的可以参考《Linux服务器svn远程代码同步》这篇文章。

下面我们直接奉上shell代码

#!/bin/bash
export LANG=zh_CN.UTF-8
 
REPOS="$1"
REV="$2"
SVN=/usr/bin/svn
WEB=/www/nodejs
LOG=/data/home/auto_svn.log
$SVN update $WEB --username uname –password password
 
#To detect whether the node process exists
ps -A | grep node
#
#The $? is 0 if the node process exists,otherwise 1.
#
#If $? is 0,we will kill the node process.
if [ $? -eq 0 ];then
   pid=`ps -A | grep node | awk '{print $1}'`
   kill -9 $pid
fi
#Start the node process
nohup node /www/nodejs/index.js >> /log/nodejs.log 2>&1 &

这样我们就可以实现修改代码以后自动重启NodeJs服务了。

以上就是我要对大家介绍的三种方式。当然,这里需要说明一下。使NodeJs自动重启的方法又很多,它并不是一成不变的,我们完全可以根据自己的开发环境来选择相应的适合自己的方式。

就像一、二两种方式,那可以说是通用方式,可以用在不同的环境中。像第三种方式,如果我们是使用svn同步代码,那就没有问题。如果我们不是使用的svn同步代码呢,那它是不是就不适用了。所以说,具体使用哪种方式还要看自己的开发环境是怎样的。

那本篇就向大家介绍这几种方式,希望对大家有所帮助。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

使用 NodeJS 检查 MongoDB 中是否存在集合

发布时间:2023/04/21 浏览次数:194 分类:MongoDB

在本文中,我们将检查 MongoDB 数据库中是否存在一个集合,并且我们还将查看与主题相关的示例,以使主题更容易理解。 为此,我们将使用 Node.js。

更新 Node.js

发布时间:2023/03/12 浏览次数:160 分类:Node.js

本教程演示如何在 Windows、macOS 和 Linux 中更新 Node.js。

NodeJS 中的日志记录

发布时间:2023/03/12 浏览次数:171 分类:Node.js

本教程演示如何在 NodeJS 中创建和存储日志,Logging 是记录应用程序流程和行为的过程。Logging 应该在生产模式下执行到更持久的输出流。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便