文档章节

小黑小波比.小技巧——使用 supervisor

BobbyLou
 BobbyLou
发布于 2015/05/14 15:58
字数 450
阅读 13
收藏 0
小技巧——使用 supervisor
如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你
在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一部份,都必须终止
Node.js 再重新运行才会奏效。这是因为 Node.js 只有在第一次引用到某部份时才会去解析脚
本文件,以后都会直接访问内存,避免重复载入,而 PHP 则总是重新读取并解析脚本(如
果没有专门的优化配置)。Node.js的这种设计虽然有利于提高性能,却不利于开发调试,因
为我们在开发过程中总是希望修改后立即看到效果,而不是每次都要终止进程并重启。
supervisor 可以帮助你实现这个功能,它会监视你对代码的改动,并自动重启 Node.js。
使用方法很简单,首先使用 npm 安装 supervisor:
$ npm install -g supervisor
如果你使用的是 Linux 或 Mac,直接键入上面的命令很可能会有权限错误。原因是 npm
需要把 supervisor 安装到系统目录,需要管理员授权,可以使用 sudo npm install -g
supervisor 命令来安装。
接下来,使用 supervisor 命令启动 app.js:
$ supervisor app.js


DEBUG: Running node-supervisor with
DEBUG:
program 'app.js'
DEBUG:
--watch '.'
DEBUG:
--extensions 'node|js'
DEBUG:
--exec 'node'
DEBUG: Starting child process with 'node app.js'
DEBUG: Watching directory '/home/byvoid/.' for changes.
HTTP server is listening at port 3000.
当代码被改动时,运行的脚本会被终止,然后重新启动。在终端中显示的结果如下:
DEBUG: crashing child
DEBUG: Starting child process with 'node app.js'
HTTP server is listening at port 3000.
supervisor 这个小工具可以解决开发中的调试问题。

本文转载自:http://blog.csdn.net/u010489586/article/details/38982295

BobbyLou
粉丝 8
博文 149
码字总数 5825
作品 0
海淀
程序员
私信 提问
Node.js 修改JS后自动重启运行的方法

刚开始学Node.js, 做了一个简单的例子后发现修改JS内容后刷新网页内容不会更新。需要再次重启服务才可以。这对于日常开发来说简直太麻烦了。于是找到了这个方法,亲测可用。 使用:Node Supe...

weixingo
2016/12/14
11
0
Storm-0.9.3安装部署步骤

Storm-0.9.3安装部署步骤 摘抄地址: http://www.cnblogs.com/panfeng412/archive/2012/11/30/how-to-install-and-deploy-storm-cluster.html http://www.aboutyun.com/thread-6854-1-1.html......

片刻
2016/01/25
762
0
利用superlance监控supervisor运行状态

此文已由作者张家裕授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 最近开发问到supervisor管理下的进程重启了,有无办法做到主动通知,楼主最先想到的是supervi...

网易云
2018/11/06
0
0
Docker容器运行多条命令(supervisor)

一, 简介 Dockerfile 运行只支持一条命令,当在Docker里要运行多条命令,用supervisor来管理就比较合适了。 Supervisor是一个 Python 开发的 client/server 系统,可以管理和监控类 UNIX 操作...

cbbing
2018/03/30
0
0
python web 部署

python web 部署 web开发中,各种语言争奇斗艳,web的部署方面,却没有太多的方式。简单而已,大概都是 nginx 做前端代理,中间 webservice 调用程序脚本。大概方式: nginx 不用多说,一个高...

刘星石
2016/03/04
37
0

没有更多内容

加载失败,请刷新页面

加载更多

texlive安装

Installing to: D:/bin/texlive/texlive/2019Installing [001/307, time/total: ??:??/??:??]: adobemapping [2130k]Installing [002/307, time/total: 00:03/08:57]: ae [84k]Installing......

MtrS
35分钟前
2
0
运维规范

命名规范 发布流程 监控告警 故障定位 状态 日志 监控

以谁为师
今天
2
0
约瑟夫环(报数游戏)java实现

开端 公司组织考试,一拿到考题,就是算法里说的约瑟夫环,仔细想想 以前老师将的都忘了,还是自己琢磨把~ package basic.gzy;import java.util.Iterator;import java.util.LinkedList;...

无极之岚
今天
3
0
Kernel字符设备驱动框架

Linux设备分为三大类:字符设备,块设备和网络设备,这三种设备基于不同的设备框架。相较于块设备和网络设备,字符设备在kernel中是最简单的,也是唯一没有基于设备基础框架(device结构)的...

yepanl
今天
3
0
Jenkins 中文本地化的重大进展

本文首发于:Jenkins 中文社区 我从2017年开始,参与 Jenkins 社区贡献。作为一名新成员,翻译可能是帮助社区项目最简单的方法。 本地化的优化通常是较小的改动,你无需了解项目完整的上下文...

Jenkins中文社区
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部