supervisor如何调试nodejs啊啊啊啊啊
发布于 1年前 作者 zhouaini528 1976 次浏览

nodejs 我安装成功了 自己按照教程一步一步来

随便写了一个文件/var/www/a.js var http = require(‘http’);   http.createServer(function (req, res) {    res.writeHead(200, {’Content-Type’: 'text/plain’});    res.end(‘Hello World\n’);   }).listen(80); 测试成功 修改任何类容我都需要重启nodejs 教程里面说有一个工具supervisor 我npm安装成功 在/var/www/下生产了2个文件 /lib 与 /bin

但是就不知道 咋个用supervisor了

我supervisor /var/www/a.js DEBUG: Running node-supervisor with DEBUG: program ‘/var/www/a.js’ DEBUG: --watch ‘.’ DEBUG: --ignore ‘undefined’ DEBUG: --extensions ‘node|js’ DEBUG: --exec ‘node’

DEBUG: Starting child process with ‘node /var/www/a.js’ DEBUG: Watching directory ‘/home/lwj’ for changes.

就这样的 求助啊

17 回复

这东西也许无法调试吧,我曾经试过,不过一直没成功,所以我调试的时候用就用直接node了

我用的是apt-get install 默认安装 是不是跟路径有关啊

首先是安装: npm i -g supervisor 然后是运行 在项目目录下 supervisor app app.js为你的启动文件 不过我推荐用hotnode, supervisor的内存占用很恐怖的。

而且看LZ的日志应该已经OK了啊,你这样就已经算是启动成功了,修改完代码后会自动重启的。

supervisor我是安装成功了的 /var/www/bin/node-supervisor -> /var/www/lib/node_modules/supervisor/lib/cli-wrapper.js /var/www/bin/supervisor -> /var/www/lib/node_modules/supervisor/lib/cli-wrapper.js [email protected] /var/www/lib/node_modules/supervisor

app.js启动文件 是任意文件? 还有1个概念的问题请教一下,supervisor是监控整个项目 还是监控一个文件?

@zhouaini528 启动文件是你自己来定的,你想用什么样的名字都行,比如你的启动文件为index.js,那么你就用supervisor index来启动就好了,supervisor监听的是你的项目,但是默认只监听js文件,论坛有让监听所有文件的方法,不过我建议你可以用hotnode,也是这个功能,supervisor的内存消耗太大了。

我进入 /var/www

命令:supervisor a.js出现

events.js:72 throw er; // Unhandled ‘error’ event ^ Error: listen EADDRINUSE at errnoException (net.js:901:11) at Server._listen2 (net.js:1039:14) at listen (net.js:1061:10) at Server.listen (net.js:1127:5) at Object.<anonymous> (/var/www/a.js:5:6) at Module._compile (module.js:456:26) at Object.Module._extensions…js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10)

@zhouaini528 看看你的端口,如果是linux系统的话建议用3000+的端口,linux有端口限制的,如果你用比较小的端口,使用sudo supervisor a.js,同时要保证你的node项目的端口没有被别的应用占用。

@thesadboy 还是不的行 我都快疯了

@zhouaini528 那你直接使用node a.js会报错不?看看你的a.js的第5行

@thesadboy 我刚刚又找出了一点问题了 我不应该用node 来输出命令 而应该用supervisor 来输出命令 我开始犯了错误 以为是 以node为主 supervisor来辅助 但是后来测试还是要不得

root@ubuntu:~# supervisor /var/www/a.js

DEBUG: Running node-supervisor with DEBUG: program ‘/var/www/a.js’ DEBUG: --watch ‘.’ DEBUG: --ignore ‘undefined’ DEBUG: --extensions ‘node|js’ DEBUG: --exec ‘node’

DEBUG: Starting child process with ‘node /var/www/a.js’ DEBUG: Watching directory ‘/home/lwj’ for changes.

@zhouaini528 你上面的日志已经显示出你的supervisor启动并监听正常了啊

@thesadboy 但是就是不管我如何更改a.js文件 我刷新浏览器 就是不会更新 这下真的崩溃了 我一直的怀疑 DEBUG: Watching directory ‘/home/lwj’ for changes. 它监控我这个’/home/lwj’ 干嘛

@zhouaini528 建议你先cd到你的项目目录,然后用supervisor a.js

@thesadboy 终于行了 我测试了N次了 果然正如我的怀疑 我的项目地址是/var/www/ 但是他监控的是/home/lwj/ 所以我测试N次都不行

最后非常谢谢的你耐心回答 感谢

@thesadboy 还与一个问题 如何设置 supervisor 的监控目录啊?

@zhouaini528 如果你是在你的项目目录中运行的话应该就是监听你的整个项目的目录,其余地方运行的话我就不清楚了,建议看看官方文档

回到顶部