Node.js 我收到Nodejs错误EPERM:3000的原因是什么?

Node.js 我收到Nodejs错误EPERM:3000的原因是什么?,node.js,web-deployment,Node.js,Web Deployment,我正在ubuntu服务器上部署node.js ts应用程序 正在侦听端口3000的app.js文件 var port = 3000 app .use(authRoutes_1.default.routes()) .use(keysRoutes_1.default.routes()) .use(exchangesRoutes_1.default.routes()) .use(wishlistRoutes_1.default.routes()) .listen

我正在ubuntu服务器上部署node.js ts应用程序

正在侦听端口3000的app.js文件

var port = 3000
app
    .use(authRoutes_1.default.routes())
    .use(keysRoutes_1.default.routes())
    .use(exchangesRoutes_1.default.routes())
    .use(wishlistRoutes_1.default.routes())
    .listen(port, function () {
      console.log('Listening on port ' + port);
    });
当我通过浏览器接近我的域名时,我得到一个错误listen eperm 3000

然后,我用以下代码创建了另一个简单的服务器侦听器js文件

var http = require('http');
var server = http.createServer(function(req, res) {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello World!');
});
server.listen(3000);
令人惊讶的是,它工作得非常好

另一件有趣的事情是,使用node app.js从ubuntu运行这两个文件会抛出相同的EPERM错误


如何解决这个难题?

另一个进程似乎已经在使用端口3000。您可以尝试类似于
sudolsof-i-P-n | grep LISTEN
的方法来检查是否有其他进程使用该端口吗?或者您可以尝试切换到另一个端口以查看您的节点服务器是否工作?

抱歉,我在代码中没有提到第二个示例使用相同的端口并且工作良好