我只是简单地通过FTP部署应用程序,并将文件放在“wwwroot”下,但当请求url时,它将永远加载,然后得到一个服务不可用的响应。
创建应用程序时,我选择Linux作为平台,runtime node.js 8.11,并通过“代码”而不是docker进行部署。
在日志中我可以看到:
docker run -d -p 46852:8080 --name [appname] -e WEBSITE_NODE_DEFAULT_VERSION=8.11 -e APPSETTING_WEBSITE_NODE_DEFAULT_VERSION=8.11 -e WEBSITE_SITE_NAME=[appname] -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=[id] -e HTTP_LOGGING_ENABLED=1 appsvc/node:8.11.2_1805212105
Container [appname] for site [appname] did not start within expected time limit. Elapsed time = 230.4882261 sec
包.json
{
"name": "foo",
"version": "1.0.0",
"description": "x",
"author": "x",
"private": true,
"scripts": {
"start": "node server.js"
},
"dependencies": {
"express": "^4.16.3"
}
}
服务器.js
const express = require('express')
const app = express()
const port = process.env.PORT || 3000
const host = process.env.HOST || '127.0.0.1'
app.get('/', (req, res) => res.send('Hello!'))
app.listen(port, host)
我也尝试过ssh进入应用程序并运行
npm install
node server.js
但最后显示消息“端口已在使用”。我试过在azureportal的“应用程序设置”中将端口设置为8080。