【发布时间】:2017-04-20 13:55:52
【问题描述】:
我创建了一个应用程序(Node.js + Express),在本地运行它。然后我在 Azure 上创建了 Node.js 应用程序并通过 FTP 上传文件。然后我卡住了 - 如何运行它?
我在 azure 中找到了一种远程控制台,并从那里安装了所有软件包。但是当我尝试运行应用程序:“npm start”时,我只返回了一行:“Bad request”。这是什么意思?怎么办?
./bin/www 文件的开头:
var app = require('../app');
var debug = require('debug')('goWeb:server');
var http = require('http');
/**
* Get port from environment and store in Express.
*/
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
/**
* Create HTTP server.
*/
var server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
goWeb - 是我的应用,在 package.js 中提到。
UPD 我将端口更改为 80,现在出现错误“端口 80 需要提升权限”。我不知道下一步该做什么。 谢谢
【问题讨论】:
-
你需要展示一些代码。例如。
npm start命令有什么作用? -
我不知道它在 azure 上做了什么(我相信别的东西),但在本地它会转到 ./bin/www 并运行 www 文件。但是远程 - 即使我运行“node ./bin/www”,我也会得到相同的结果。即使我运行“node app.js”,它也会返回相同的结果。
-
就像@miparnisari 所说:你没有显示任何代码,所以很难弄清楚发生了什么。只是好奇:您的应用正在监听哪个端口?
-
代码是标准的 - 我没有创建它,它是自动生成的(因为我使用 express) - 我现在将使用 ./bin/www 文件的第一部分更新帖子.
-
我认为@DavidMakogon 搞定了——你在错误的端口上监听!应该是80端口(或者8080,不记得了)