菜鸟求教,关于Nodejs supervisor安装问题

菜鸟求教,关于Nodejs supervisor安装问题

今天装了supervisor,但是按照教程supervisor app.js终端没响应,输入supervisor也没有,但是输入supervisord就有反应,不过里面好像都是跟日志相关,是不是装错了?该怎么弄?

7 回复

当然可以。首先,我们需要了解 supervisor 是一个用于 Node.js 应用程序的开发工具,它可以自动重启应用,非常适合开发过程中使用。

问题分析

你提到在安装并尝试使用 supervisor 时遇到了一些问题。你提到当运行 supervisor app.js 时没有响应,并且发现 supervisord 命令似乎有反应,但它的输出与日志相关。这可能是由于以下几个原因:

  1. 安装错误:可能没有正确安装 supervisor
  2. 命令使用错误supervisorsupervisord 是两个不同的工具,supervisor 是 Node.js 的开发工具,而 supervisord 是用于管理进程的系统服务。

解决方案

1. 确认安装

确保你已经全局安装了 supervisor。你可以通过以下命令来安装它:

npm install -g supervisor

如果你不确定是否已经安装了 supervisor,可以通过以下命令检查:

supervisor --version

如果显示版本号,则表示安装成功。

2. 正确使用命令

确保你正确地使用了 supervisor 命令。你应该使用 supervisor app.js 而不是 supervisordsupervisordsupervisor 的服务器端部分,通常用于生产环境。

3. 检查应用程序

确保你的 app.js 文件没有语法错误或其他问题。你可以先尝试直接运行 node app.js 来确认应用本身是否正常工作。

示例

假设你的 app.js 文件内容如下:

const http = require('http');

http.createServer((req, res) => {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});

运行应用

  1. 首先确保应用可以正常运行:

    node app.js
    

    打开浏览器访问 http://localhost:3000/,应该能看到 “Hello World”。

  2. 使用 supervisor 监控应用:

    supervisor app.js
    

这样,每次你修改 app.js 文件后,supervisor 会自动重启应用,无需手动停止和启动。

希望这些信息能帮助你解决问题!


各位大神是不屑回答这么简单的问题还是我没有说清楚?

npm install -g supervisor 全局安装

Github 上的 README 好简略… 倒是 supervisor 不是 Python 的项目么

装到全局里才能使用supervisor命令,或者把全局路径改到你的目标路径

修改全局路径npm config set prefix “路径”

在Node.js中使用supervisor可以让你的应用在文件修改后自动重启,从而提高开发效率。根据你的描述,你可能遇到了一些安装或使用上的问题。以下是一些解决方法:

1. 确认安装

首先,确保你已经全局安装了supervisor

npm install -g supervisor

2. 启动应用

然后,你可以通过以下命令启动你的应用:

supervisor app.js

如果还是没有反应,尝试直接运行:

node -r esm app.js

(如果你的应用使用了ESM模块)

3. 检查环境

确保你的app.js文件路径正确,并且该文件是可执行的。

4. 使用supervisord

如果你提到的supervisord是指系统级别的进程管理工具,那么它与Node.js的supervisor是不同的工具。supervisord主要用于系统服务的管理,而Node.js的supervisor用于本地应用的自动重启。

示例代码

假设你的app.js文件内容如下:

const http = require('http');

http.createServer((req, res) => {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(3000);

console.log('Server running at http://localhost:3000/');

总结

  • 确认全局安装了supervisor
  • 使用supervisor app.js启动应用
  • 如果仍然有问题,尝试使用node app.js直接运行应用
  • supervisord与Node.js的supervisor不同,用于系统级的服务管理

希望这些信息能帮助你解决问题!

回到顶部