【问题标题】:How to start node.js server on Azure Web App service?如何在 Azure Web App 服务上启动 node.js 服务器?
【发布时间】:2020-05-01 01:40:41
【问题描述】:

我有一个 create-my-react 引导应用程序,它本质上是一个网站,它使用一些对外部 API 的 FETCH API 调用,它已部署并且运行良好。

但是,我添加了自己的 Nodejs 后端,方法是创建一个服务器并使用 express 作为路由/中间件。在本地一切正常。我可以点击我的内部 API 端点(localhost:3000/myapiurlhere),它会对数据库执行操作。

我必须运行 npm start 在本地启动 create-my-react-app,然后通过 node src/server.js 手动运行节点服务器,然后我的内部 API 才能工作。

Azure Web App 服务基本上是一个带有 Node RUNTIME 的预配置服务器,它似乎只允许您访问 D:\home\site\wwwroot 文件夹(Windows 服务器)。

我需要找到一种方法在服务器上运行node server.js 命令来启动我的节点后端,还是应该自动运行?另外,我正在使用 create-my-react-app 和 npm run build ,因此它创建了一个带有嵌套 static 文件夹的 build 文件夹。

我之前在我的 Linux Ubuntu 服务器上的 Java 上启动过 REST API,但从未在像 Azure 这样的应用服务上启动过。我怎样才能实现我想要做的事情?

这是我的server.js 文件:

const http = require('http');
const app = require('./app');

const port = process.env.PORT || 3001;

const server = http.createServer(app);

server.listen(port);

【问题讨论】:

    标签: javascript node.js azure api server


    【解决方案1】:

    您不必做任何特别的事情,您是否关注this page 了解如何在 Azure AppService 上部署基本的 nodejs 应用程序?

    您需要做的另一件事是在 appservice 的 appsettings 上传递 Node 版本。

    WEBSITE_NODE_DEFAULT_VERSION 为设置键。

    【讨论】:

    • 执行上述操作后,启用日志记录以查看发生了什么github.com/projectkudu/kudu/wiki/Troubleshooting-Node-errors
    • 好的,我正在查看该页面。通常在安装了 Apache Webserver 或其他东西的 Ubuntu 服务器上,我必须通过运行我的 server.js 文件的路径命令“node src/server.js”来手动启动或“引导”Nodejs 服务器。 Azure 如何自动执行此操作并知道我的文件叫什么?即使我在本地运行,如果我不运行此文件,我的节点/express API 都不会工作,因为没有节点/后端服务器在运行
    猜你喜欢
    • 1970-01-01
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多