gpt4 book ai didi

node.js - 将简单的 Express 应用程序部署到 Azure 应用服务

转载 作者:行者123 更新时间:2023-12-02 06:05:48 25 4
gpt4 key购买 nike

我有一个极其简单的 Node/Express 应用程序,我试图在 Azure 应用程序服务中运行它。它的唯一目的是让我通过使用 Git 和 Azure Devops 逐步扩展应用程序来学习。

我已经陷入困境了。

我有一个本地文件夹“node-starter”,里面有我的 app.js、package.json、node-modules(包括 Express)等。 app.js 非常简单:

const express = require("express")

const app = express()

app.get("/", (req, res) => {
res.send({
"first": "jason",
"last": "bourne"
})
})

app.listen(3000,()=> {
console.log("server running....")
})

我的package.json也很简单:

{
"name": "node-starter",
"version": "1.0.0",
"description": "simple node and express app to test azure deployments",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node app.js"
},
"author": "",
"license": "ISC",
"devDependencies": {
"express": "^4.17.1"
}
}

当我使用 npm start 脚本在本地运行该应用程序时,应用程序将运行,并且我可以在端口 3000 上的本地主机上获取 json 响应。非常简单,并且在本地完美运行。

然后我要做的是:

  1. 为这个简单的项目设置一个 Azure Devlop 项目和存储库,我称之为“简单 Node ”。
  2. 然后,我将 Node 启动器文件夹的全部内容推送到该存储库,并目视检查所有内容是否都在那里并且看起来正常。确实如此。
  3. 然后,我转到 Azure 应用程序并创建一个新的 Web 应用程序。我选择一台免费的 Linux 机器,完成应用程序的设置,然后转到“部署中心”。
  4. 在部署中心,我告诉它在哪里可以找到代码存储库(在 Azure Devops 中),向导找到它并允许我选择它。
  5. 我可以提供启动命令 (npm start) 和 Node 版本 (12 LTS) 等信息。然后我部署它,大约一分钟后我收到一条消息说一切成功。
  6. 然后,我返回到 Azure Devops 项目,可以在管道中看到已经有构建和发布到生产环境。所以,一切看起来都不错。没有错误。

但是,当我浏览到应用程序服务提供的 URL 时,通常会收到应用程序错误 503。当我单击链接以获取更多信息时,我会进入空白的 Azure 帮助屏幕。只有三个闪烁的 azure 圆圈,但永远不会产生任何结果。

可能出了什么问题?一切看起来都设置和部署正常,但该应用程序在部署后似乎无法正常工作。它一定很简单,对吧?

如果允许的话,有几个问题:

  1. 在 app.js 中,我指定端口 3000,这似乎是 Express 的默认端口。这是否意味着我需要将“:3000”附加到 Azure 提供的 URL,或者 Azure 是否知道代理该​​端口?
  2. 经过多次点击后,我在 Azure 中找到了该应用程序 (Kudo) 的 Bash shell。当我连接到它时,我看到我的应用程序代码似乎已部署到 site/wwwroot。我可以在其中看到我的文件和 app.js。我尝试在那里运行“npm start”,但仍然没有效果。我尝试了“npm i”来尝试解决任何依赖性问题 - 仍然没有效果。

我还尝试使用 VSCode 插件部署应用程序,并得到了完全相同的结果。请让我摆脱痛苦并告诉我哪里可能出错。请。

最佳答案

仅端口 80 和 443 对 Web 应用程序开放。您应该将监听端口更改为 process.env.PORT

const port = process.env.PORT;
app.listen(port);

关于node.js - 将简单的 Express 应用程序部署到 Azure 应用服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61186632/

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