gpt4 book ai didi

node.js - 如何让 Node.js 应用程序在 Azure 应用服务上运行?

转载 作者:太空宇宙 更新时间:2023-11-03 23:18:21 24 4
gpt4 key购买 nike

我正在尝试在 Azure 应用服务 (Linux) 上运行最简单的 Node.js 应用程序,但我不知道如何运行它。我一直在尝试不同的方法,但似乎没有任何效果。

我只是通过 FTP 部署应用程序并将文件放在“wwwroot”下,但在请求 URL 时,它会永久加载,然后以服务不可用响应结束。

在创建应用程序时,我选择Linux作为平台,运行时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

这意味着什么,即使我通过“代码”和 FTP 设置了部署应用程序,docker 是否仍以某种方式使用。

package.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。我尝试通过 ssh 控制台 node server.js 运行应用程序,但最终显示消息“端口已在使用中”。我尝试在 Azure 门户的“应用程序设置”中将端口设置为 8080。

我在这里缺少什么?如何让应用程序运行?

最佳答案

在我的网站中,我只是做了 app.listen(process.env.port); - 没有主机参数。并尝试执行npm start

还要检查 web.configiisnode.yml,它们是自动生成的,并且都是运行 Node 所必需的。

关于node.js - 如何让 Node.js 应用程序在 Azure 应用服务上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52595401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com