Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在azure中配置节点应用程序_Node.js_Azure_Azure Web App Service_Azure Deployment - Fatal编程技术网

Node.js 在azure中配置节点应用程序

Node.js 在azure中配置节点应用程序,node.js,azure,azure-web-app-service,azure-deployment,Node.js,Azure,Azure Web App Service,Azure Deployment,我已在Azure中部署了一个节点应用程序,并希望对其进行配置。这是我要测试的index.js文件的内容: const express = require('express'); const app = express(); const bodyparser = require('body-parser'); const cors = require('cors'); var cats = [{name:'Lily'}, {name: 'Lucy'}]; var corOptions = {

我已在Azure中部署了一个节点应用程序,并希望对其进行配置。这是我要测试的index.js文件的内容:

const express = require('express');
const app = express();
const bodyparser = require('body-parser');
const cors = require('cors');

var cats = [{name:'Lily'}, {name: 'Lucy'}];

var corOptions = {
    origin: '*',
    optionsSuccessStatus: 200
};
app.use(cors(corOptions));
app.listen(3000,() =>{
    console.log('Server started :)');
});
app.route('/api/cats').get((req, res) =>{
    console.log(req.hostname);
    console.log(req);
    res.send(cats);
});
console.log("Server is running...");
下面是package.json文件

{
"name": "app-service-hello-world",
"description": "Simple Hello World Node.js sample for Azure App Service",
"version": "0.0.1",
"private": true,
"license": "MIT",
"author": "Microsoft",
"engines": {
    "node": ">=6.9.1"
},
"scripts": {
    "start": "node index.js"
},
"dependencies": {
    "cors": "^2.8.4",
    "express": "^4.16.3"
}
}
web.config:

-> 将端口更改为process.env.port并重新部署代码应该可以工作

说明:

Azure Web App是的一个模型,可通过仅有的两个已公开的80HTTP和443HTTPS TCP端口访问


Azure将使用process.env.port为您的Nodejs服务器创建一个用于侦听的命名管道,并将请求从443端口传递到该命名管道。应用程序中的任何特定端口都无效,将导致服务器内部错误500。

您可以共享您的web.config内容吗?可能是您仍然指向默认的server.js而不是index.js作为起始文件的设置。@RedJandal,我在问题中添加了web.config文件的内容。.您可以尝试process.env.portI,而不是在app.listen中强制使用端口3000吗?我最初尝试过,但没有成功,有一条错误消息说端口应该在0和65535之间。@GauravKrishn在Azure上使用process.env.port是必需的,在我这方面,这个项目使用git deploy运行良好。你能提供你所犯错误的详细情况吗?